in PR kern/17506):
If we reset the mouse and discover a different protocol after the reset
than before, reset it again after one second. This makes protocol detection
after a KVA switched to another machine more reliable and should not affect
the standard situation with one mouse connected to one machine.
probing.
Make sure to not initialize the protocol more than once, see rev. 1.11 of
the old psm_intelli.c driver (this caused hangs when starting X).
Unify the "ignore garbage" behaviour (which we already did if PMS_STANDARD
protocol was used), the old intelli-driver did the same and on some scroll
mice a stream of garbage is emitted shortly after reset.
two packets (just like the old psm.c driver did). And don't insist on the
first byte having bit 0x08 set.
This makes some odd trackball device work.
Thanks to Tyler Mitchell for reporting and testing.
Restore the reset thread, to make resetting the interface possible while
not blocking interrupts.
Make sure to throw away garbage input while the reset thread is at work
(by setting sc_enabled a bit later).
Issue a PMS_RESET command when resetting to address PR 16788.
eliminate the kthread now that it's not necessary, and use callout instead.
This seems to fix the X mouse freeze problem.
Testing and some debug printf fixes by Martin Husemann.