iichid(4): Perform acknowledgement of I2C device interrupt after RESET command

in sampling mode to workaround firmware bug.

This fixes reboot or poweroff on frame.work laptops after first touch.

Reported by:	many
PR:		259230
MFC after:	1 week
Tested by:	kevans, markj
This commit is contained in:
Vladimir Kondratyev 2021-12-01 00:29:50 +03:00
parent d893d9e94d
commit c508b0818b

View File

@ -1134,6 +1134,11 @@ iichid_attach(device_t dev)
&sc->sampling_hysteresis, 0,
"number of missing samples before enabling of slow mode");
hid_add_dynamic_quirk(&sc->hw, HQ_IICHID_SAMPLING);
if (sc->sampling_rate_slow >= 0) {
pause("iichid", (hz + 999) / 1000);
(void)iichid_cmd_read(sc, NULL, 0, NULL);
}
#endif /* IICHID_SAMPLING */
child = device_add_child(dev, "hidbus", -1);