hal: gpio: don't trigger furi_check on furi_hal_gpio_add_int_callback() with same parameters

This commit is contained in:
MX
2023-04-23 01:57:07 +03:00
parent f693d4a8de
commit ba0efda2aa

View File

@@ -178,10 +178,13 @@ void furi_hal_gpio_add_int_callback(const GpioPin* gpio, GpioExtiCallback cb, vo
FURI_CRITICAL_ENTER(); FURI_CRITICAL_ENTER();
uint8_t pin_num = furi_hal_gpio_get_pin_num(gpio); uint8_t pin_num = furi_hal_gpio_get_pin_num(gpio);
furi_assert(gpio_interrupt[pin_num].callback == NULL); volatile GpioInterrupt* interrupt = &gpio_interrupt[pin_num];
gpio_interrupt[pin_num].callback = cb; furi_check(
gpio_interrupt[pin_num].context = ctx; (interrupt->callback == NULL) ||
gpio_interrupt[pin_num].ready = true; ((interrupt->callback == cb) && (interrupt->context == ctx)));
interrupt->callback = cb;
interrupt->context = ctx;
interrupt->ready = true;
FURI_CRITICAL_EXIT(); FURI_CRITICAL_EXIT();
} }