From f8158661edf50871b298b000aba9fc4c42ef6d85 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Tue, 23 Feb 2021 10:23:11 +0100 Subject: [PATCH] porting/nimble/hal_timer: fix NVIC setup In commit ab53154 platform specific handling of the NVIC setup for the timers priority and vectors were revertet. This leads to problems on certain platforms, e.g. interrupt priority related hard-faults on RIOT. This commit re-introduces the platform specific setup. --- porting/nimble/src/hal_timer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/porting/nimble/src/hal_timer.c b/porting/nimble/src/hal_timer.c index 568ab0c7f..aa78bf9a2 100644 --- a/porting/nimble/src/hal_timer.c +++ b/porting/nimble/src/hal_timer.c @@ -538,8 +538,14 @@ hal_timer_init(int timer_num, void *cfg) /* Disable IRQ, set priority and set vector in table */ NVIC_DisableIRQ(irq_num); +#ifndef RIOT_VERSION NVIC_SetPriority(irq_num, (1 << __NVIC_PRIO_BITS) - 1); +#endif +#if MYNEWT NVIC_SetVector(irq_num, (uint32_t)irq_isr); +#else + ble_npl_hw_set_isr(irq_num, irq_isr); +#endif return 0;