diff --git a/arch/arm/src/samv7/sam_gpio.c b/arch/arm/src/samv7/sam_gpio.c index bebe82a0fe..5d24d7199b 100644 --- a/arch/arm/src/samv7/sam_gpio.c +++ b/arch/arm/src/samv7/sam_gpio.c @@ -533,7 +533,7 @@ int sam_configgpio(gpio_pinset_t cfgset) /* Disable writing to GPIO registers */ putreg32(PIO_WPMR_WPEN | PIO_WPMR_WPKEY, base + SAM_PIO_WPMR_OFFSET); - leave_critical_section(flags); + spin_unlock_irqrestore(&g_configgpio_lock, flags); return ret; } @@ -663,7 +663,7 @@ int sam_dumpgpio(uint32_t pinset, const char *msg) getreg32(base + SAM_PIO_PCISR_OFFSET), getreg32(base + SAM_PIO_PCRHR_OFFSET)); - leave_critical_section(flags); + spin_unlock_irqrestore(&g_configgpio_lock, flags); return OK; } #endif