mbed library sources. Supersedes mbed-src.

Fork of mbed-dev by mbed official

Files at this revision

API Documentation at this revision

Comitter:
mbed_official
Date:
Mon Apr 04 10:00:11 2016 +0100
Parent:
103:173fc4c67e73
Child:
105:364b35371a11
Commit message:
Synchronized with git revision 2454dc53c78e0e652cb88e9e42bfcd0a095e715d

Full URL: https://github.com/mbedmicro/mbed/commit/2454dc53c78e0e652cb88e9e42bfcd0a095e715d/

Prevent recursive processing of us_ticker in FSL

Changed in this revision

targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/us_ticker.c Show annotated file Show diff for this revision Revisions of this file
--- a/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/us_ticker.c	Fri Apr 01 17:45:12 2016 +0100
+++ b/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/us_ticker.c	Mon Apr 04 10:00:11 2016 +0100
@@ -68,8 +68,11 @@
 void us_ticker_set_interrupt(timestamp_t timestamp) {
     int delta = (int)(timestamp - us_ticker_read());
     if (delta <= 0) {
-        // This event was in the past:
-        us_ticker_irq_handler();
+        // This event was in the past.
+        // Set the interrupt as pending, but don't process it here.
+        // This prevents a recurive loop under heavy load
+        // which can lead to a stack overflow.
+        NVIC_SetPendingIRQ(PIT3_IRQn);
         return;
     }