diff --git a/components/driver/periph_ctrl.c b/components/driver/periph_ctrl.c index f0a01a61ac..522c8d587f 100644 --- a/components/driver/periph_ctrl.c +++ b/components/driver/periph_ctrl.c @@ -29,26 +29,26 @@ static uint32_t get_rst_en_reg(periph_module_t periph); void periph_module_enable(periph_module_t periph) { - portENTER_CRITICAL(&periph_spinlock); + portENTER_CRITICAL_SAFE(&periph_spinlock); DPORT_SET_PERI_REG_MASK(get_clk_en_reg(periph), get_clk_en_mask(periph)); DPORT_CLEAR_PERI_REG_MASK(get_rst_en_reg(periph), get_rst_en_mask(periph, true)); - portEXIT_CRITICAL(&periph_spinlock); + portEXIT_CRITICAL_SAFE(&periph_spinlock); } void periph_module_disable(periph_module_t periph) { - portENTER_CRITICAL(&periph_spinlock); + portENTER_CRITICAL_SAFE(&periph_spinlock); DPORT_CLEAR_PERI_REG_MASK(get_clk_en_reg(periph), get_clk_en_mask(periph)); DPORT_SET_PERI_REG_MASK(get_rst_en_reg(periph), get_rst_en_mask(periph, false)); - portEXIT_CRITICAL(&periph_spinlock); + portEXIT_CRITICAL_SAFE(&periph_spinlock); } void periph_module_reset(periph_module_t periph) { - portENTER_CRITICAL(&periph_spinlock); + portENTER_CRITICAL_SAFE(&periph_spinlock); DPORT_SET_PERI_REG_MASK(get_rst_en_reg(periph), get_rst_en_mask(periph, false)); DPORT_CLEAR_PERI_REG_MASK(get_rst_en_reg(periph), get_rst_en_mask(periph, false)); - portEXIT_CRITICAL(&periph_spinlock); + portEXIT_CRITICAL_SAFE(&periph_spinlock); } static uint32_t get_clk_en_mask(periph_module_t periph)