Update hook after updating GPIO bits
Fixes
@@ -307,6 +307,10 @@ int platform_gpio_register_intr_hook(uint32_t bits, platform_hook_function hook)
uint32_t old_bits = oh.entry[i].bits;
*(volatile uint32_t *) &oh.entry[i].bits = bits;
*(volatile uint32_t *) &oh.all_bits = (oh.all_bits & ~old_bits) | bits;
+ ETS_GPIO_INTR_DISABLE();
+ // This is a structure copy, so interrupts need to be disabled
+ platform_gpio_hook = oh;
+ ETS_GPIO_INTR_ENABLE();
return 1;
}
}
