OSDN Git Service

HID: magicmouse: ignore 'ivalid report id' while switching modes, v2
authorJiri Kosina <jkosina@suse.cz>
Thu, 25 Aug 2011 12:21:37 +0000 (14:21 +0200)
committerJaikumar Ganesh <jaikumarg@android.com>
Mon, 29 Aug 2011 18:24:07 +0000 (11:24 -0700)
commit9b076887d4fd85a5bb90a017571cccb95f467bec
treecac94b6b14934c897d74758d517550f3cb1396fb
parentc4b6650850bc1e7e858bf611764eaec5ec071ec3
HID: magicmouse: ignore 'ivalid report id' while switching modes, v2

This is basically a more generic respin of 23746a6 ("HID: magicmouse: ignore
'ivalid report id' while switching modes") which got reverted later by
c3a492.

It turns out that on some configurations, this is actually still the case
and we are not able to detect in runtime.

The device reponds with 'invalid report id' when feature report switching it
into multitouch mode is sent to it.

This has been silently ignored before 0825411ade ("HID: bt: Wait for ACK
on Sent Reports"), but since this commit, it propagates -EIO from the _raw
callback .

So let the driver ignore -EIO as response to 0xd7,0x01 report, as that's
how the device reacts in normal mode.

Sad, but following reality.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=35022

Change-Id: Ice409708bb7bd1b43bd86adde121a353f8d03835
Reported-by: Chase Douglas <chase.douglas@canonical.com>
Reported-by: Jaikumar Ganesh <jaikumarg@android.com>
Tested-by: Chase Douglas <chase.douglas@canonical.com>
Tested-by: Jaikumar Ganesh <jaikumarg@android.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-magicmouse.c