Skip to content

Commit eddaa8b

Browse files
authored
Merge pull request #6515 from marcemmers/mbed_ticker_api
Only schedule mbed_ticker interrupt if queue->head is changed
2 parents 80dde0b + 046cf1d commit eddaa8b

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

TESTS/mbed_hal/ticker/main.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,7 @@ static void test_legacy_insert_event_multiple_overflow()
697697
interface_stub.timestamp =
698698
last_timestamp_to_insert +
699699
((ref_event_timestamp - last_timestamp_to_insert) / 2);
700+
ticker_irq_handler(&ticker_stub);
700701

701702
for (size_t i = 0; i < MBED_ARRAY_SIZE(events); ++i) {
702703
ticker_insert_event(

hal/mbed_ticker_api.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,14 +359,12 @@ void ticker_insert_event_us(const ticker_data_t *const ticker, ticker_event_t *o
359359
/* if prev is NULL we're at the head */
360360
if (prev == NULL) {
361361
ticker->queue->head = obj;
362+
schedule_interrupt(ticker);
362363
} else {
363364
prev->next = obj;
364365
}
365366

366-
schedule_interrupt(ticker);
367-
368367
core_util_critical_section_exit();
369-
370368
}
371369

372370
void ticker_remove_event(const ticker_data_t *const ticker, ticker_event_t *obj)

0 commit comments

Comments
 (0)