ChibiOS: fix deadlocks when hammering mouse/extra keys#28
ChibiOS: fix deadlocks when hammering mouse/extra keys#28lactide wants to merge 1 commit intotmk:masterfrom
Conversation
When hammering on the mouse or extra keys, tmk will deadlock if ChibiOS was compiled with assertions. This particular assertion in usbTransmitI fires if the last packet hasn't been acknowledged yet by the host driver. To fix that, we'll save the new report and transmit it if the last report was acknowledged.
5324dd3 to
f6ff126
Compare
|
I'm not sure anymore whether this was the correct fix in the first place. tmk only "deadlocks" because i've enabled ChibiOS assertions. This particular assertion in usbTransmitI fires if the last packet hasn't been acknowledged yet by the host and tmk wants to send the next report. But this isn't always the case. My FreeBSD installation doesn't seem to understand the extra_keys or the nkro reports and won't acknowledge any of them. ChibiOS calls a callback when the last transmission is finished. |
When hammering on the mouse or extra keys, tmk will deadlock.
To fix that, i've copied the fix from the keyboard endpoint [1]
[1] tmk/tmk_keyboard@72c52d3