Skip to contentSkip to conversation

Patch "HID: sony: do not bail out when the sixaxis refuses the output report" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Aug 14, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

HID: sony: do not bail out when the sixaxis refuses the output report

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
hid-sony-do-not-bail-out-when-the-sixaxis-refuses-the-output-report.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 19f4c2ba869517048add62c202f9645b6adf5dfb Mon Sep 17 00:00:00 2001

From: Benjamin Tissoires <[email protected]>
Date: Fri, 8 Jan 2016 17:58:49 +0100
Subject: HID: sony: do not bail out when the sixaxis refuses the output report

From: Benjamin Tissoires <[email protected]>

commit 19f4c2ba869517048add62c202f9645b6adf5dfb upstream.

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

---
 drivers/hid/hid-sony.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/hid/hid-sony.c +4 -2
@@ -1418,8 +1418,10 @@ static int sixaxis_set_operational_usb(s
 	}
 
 	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);

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/i2c-i801-allow-acpi-systemio-opregion-to-conflict-with-pci-bar.patch queue-4.4/hid-sony-do-not-bail-out-when-the-sixaxis-refuses-the-output-report.patch