When a touchpad event occurs while the device is being queried (e.g.
for features), then do_io (for do_read) would fail because the report
was not of the correct type (0x20 vs 0x11 for example). To fix this,
make do_read retry reads (within the allowed timeout).
Previously the expected report type was hidden in the msg parameter,
make this expected report type more explicit now in a new parameter.
This reverts commit 98f9432088. This was a
lazy trick from me to allow adding `-fsanitize=address` easier, but
apparantly not all users are so happy with it.
Conflicts:
Makefile