adb: fix adb-mouse read length and revert disable-reg3-direct-writes workaround
commit167f1667b120ddac301163da64b57b19ce7cf622
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tue, 23 Jun 2020 20:49:16 +0000 (23 21:49 +0100)
committerMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Fri, 26 Jun 2020 09:13:51 +0000 (26 10:13 +0100)
tree428bd195a3aa3991e33924f23419b50cf4747868
parentbcaaefdbb2167858d3b92745b79473deb49c417a
adb: fix adb-mouse read length and revert disable-reg3-direct-writes workaround

Commit 84051eb400 "adb: add property to disable direct reg 3 writes" introduced
a workaround for spurious writes to ADB register 3 when MacOS 9 enables
autopoll on the mouse device. Further analysis shows that the problem is that
only a partial request is sent, and since the len parameter is ignored then
stale data from the previous request is used causing the incorrect address
assignment.

Remove the disable-reg3-direct-writes workaround and instead check the length
parameter when the write is attempted, discarding the invalid request.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200623204936.24064-3-mark.cave-ayland@ilande.co.uk>
hw/input/adb-kbd.c
hw/input/adb-mouse.c
hw/input/adb.c
hw/ppc/mac_newworld.c
include/hw/input/adb.h