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;
}
Helmut Tschemernjak
