mbed library sources. Supersedes mbed-src.
Fork of mbed-dev by
Revision 104:e48d70d14486, committed 2016-04-04
- 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; }