From 3cf9b07e55abc5710c15a8b5bb14f3faeabca5bb Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Jan 29 2016 20:21:39 +0000 Subject: Backport HID sony patch to fix some gamepads (rhbz 1255235) --- diff --git a/HID-sony-do-not-bail-out-when-the-sixaxis-refuses-th.patch b/HID-sony-do-not-bail-out-when-the-sixaxis-refuses-th.patch new file mode 100644 index 0000000..b1a789e --- /dev/null +++ b/HID-sony-do-not-bail-out-when-the-sixaxis-refuses-th.patch @@ -0,0 +1,49 @@ +From 954d6154959c8c196fa4b89fc98a4fb377c6a38d Mon Sep 17 00:00:00 2001 +From: Benjamin Tissoires +Date: Fri, 8 Jan 2016 17:58:49 +0100 +Subject: [PATCH] HID: sony: do not bail out when the sixaxis refuses the + output report + +When setting the operational mode, some third party (Speedlink Strike-FX) +gamepads refuse the output report. Failing here means we refuse to +initialize the gamepad while this should be harmless. + +The weird part is that the initial commit that added this: a7de9b8 +("HID: sony: Enable Gasia third-party PS3 controllers") mentions this +very same controller as one requiring this output report. +Anyway, it's broken for one user at least, so let's change it. +We will report an error, but at least the controller should work. + +And no, these devices present themselves as legacy Sony controllers +(VID:PID of 054C:0268, as in the official ones) so there are no ways +of discriminating them from the official ones. + +https://bugzilla.redhat.com/show_bug.cgi?id=1255325 + +Reported-and-tested-by: Max Fedotov +Signed-off-by: Benjamin Tissoires +Signed-off-by: Jiri Kosina +--- + drivers/hid/hid-sony.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c +index 661f94f8ab8b..11f91c0c2458 100644 +--- a/drivers/hid/hid-sony.c ++++ b/drivers/hid/hid-sony.c +@@ -1411,8 +1411,10 @@ static int sixaxis_set_operational_usb(struct hid_device *hdev) + } + + ret = hid_hw_output_report(hdev, buf, 1); +- if (ret < 0) +- hid_err(hdev, "can't set operational mode: step 3\n"); ++ if (ret < 0) { ++ hid_info(hdev, "can't set operational mode: step 3, ignoring\n"); ++ ret = 0; ++ } + + out: + kfree(buf); +-- +2.5.0 + diff --git a/kernel.spec b/kernel.spec index d4bbd1b..08cb8e2 100644 --- a/kernel.spec +++ b/kernel.spec @@ -700,6 +700,9 @@ Patch643: media-ivtv-avoid-going-past-input-audio-array.patch Patch644: wext-fix-message-delay-ordering.patch Patch645: cfg80211-wext-fix-message-ordering.patch +#rhbz 1255325 +Patch646: HID-sony-do-not-bail-out-when-the-sixaxis-refuses-th.patch + # END OF PATCH DEFINITIONS %endif @@ -2143,6 +2146,9 @@ fi # # %changelog +* Fri Jan 29 2016 Josh Boyer +- Backport HID sony patch to fix some gamepads (rhbz 1255235) + * Thu Jan 28 2016 Josh Boyer - Fix issues with ivtv driver on PVR350 devices (rhbz 1278942) - Add patches to fix suprious NEWLINK netlink messages (rhbz 1302037)