Don't short-circuit interrupt handling when the sc_dying flag is set. Just
authorkettenis <kettenis@openbsd.org>
Sun, 18 Aug 2024 11:08:47 +0000 (11:08 +0000)
committerkettenis <kettenis@openbsd.org>
Sun, 18 Aug 2024 11:08:47 +0000 (11:08 +0000)
commit5959e33b4e14b2542dfee105a7c9756e03efae39
tree95ed9d0fb39ba83f466cc61951fa35500101c623
parent41af09dc9e34e2f851476cad3ffa5fa413e00743
Don't short-circuit interrupt handling when the sc_dying flag is set. Just
don't forward reports to the child drivers instead.  This fixes an issue
with hardware that sends an interrupt in response to a reset request when
a level-triggered interrupt is used.  In that case the interrupt would
just keep triggering when we issue a reset when we resume (when sc_dying
is set) since we didn't clear the interrupt condition by reading from the
device.

ok mlarkin@, deraadt@
sys/dev/i2c/ihidev.c