can't shift by more or equal to length...

This commit is contained in:
Philippe G
2021-12-27 22:01:55 -08:00
parent 2332e22d99
commit f3c405579f

View File

@@ -463,7 +463,7 @@ void service_handler(void *arg) {
xSemaphoreGive(expander->mutex);
ESP_LOGD(TAG, "Handling GPIO %d reads 0x%04x and has 0x%04x pending", expander->first, expander->shadow, pending);
for (int gpio = 31, clz; pending; pending <<= (clz + 1)) {
for (int gpio = 31, clz = 0; pending && clz < 31; pending <<= (clz + 1)) {
clz = __builtin_clz(pending);
gpio -= clz;
if (expander->isr[gpio].timer) xTimerReset(expander->isr[gpio].timer, 1); // todo 0