8000 ta_disable_irq_handler should unarm its timer · raspberrypi/pico-sdk@38c9d03 · GitHub
[go: up one dir, main page]

Skip to content

Commit 38c9d03

Browse files
committed
ta_disable_irq_handler should unarm its timer
1 parent 4b1b18f commit 38c9d03

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

src/rp2_common/pico_time_adapter/include/pico/time_adapter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ static inline void ta_enable_irq_handler(alarm_pool_timer_t *timer, uint alarm_n
7676

7777
static inline void ta_disable_irq_handler(alarm_pool_timer_t *timer, uint alarm_num, irq_handler_t irq_handler) {
7878
uint irq_num = timer_hardware_alarm_get_irq_num(timer, alarm_num);
79+
timer_hw_from_timer(timer)->armed = 1u << alarm_num; // disarm the timer
7980
hw_clear_bits(&timer_hw_from_timer(timer)->inte, 1u << alarm_num);
8081
irq_set_enabled(irq_num, true);
8182
irq_remove_handler(irq_num, irq_handler);

test/pico_time_test/pico_time_test.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,8 +355,8 @@ int issue_2118_test(void) {
355355
}
356356
PICOTEST_CHECK(counter_2118 >= 100, "Repeating timer failure");
357357

358-
cancel_repeating_timer(&timer);
359358
alarm_pool_destroy(pool);
359+
hard_assert(timer0_hw->armed == 0); // check destroying the pool unarms its timer
360360

361361
set_sys_clock_hz(SYS_CLK_HZ, true);
362362
setup_default_uart();

0 commit comments

Comments
 (0)
0