From: Greg Kroah-Hartman Date: Tue, 11 Dec 2018 15:16:21 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v4.19.9~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eca5f96efcaa361a0d69ed164c2dbf29209ff1fd;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: hid-quirks-fix-retrousb.com-devices.patch --- diff --git a/queue-4.19/hid-quirks-fix-retrousb.com-devices.patch b/queue-4.19/hid-quirks-fix-retrousb.com-devices.patch new file mode 100644 index 00000000000..5d83dee47b2 --- /dev/null +++ b/queue-4.19/hid-quirks-fix-retrousb.com-devices.patch @@ -0,0 +1,63 @@ +From 868613f1c0ccf7b832f38b48b18cca31cdeb3d26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nic=20Soud=C3=A9e?= +Date: Thu, 6 Dec 2018 11:59:25 -0500 +Subject: HID: quirks: fix RetroUSB.com devices +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Nic Soudée + +commit 868613f1c0ccf7b832f38b48b18cca31cdeb3d26 upstream. + +SNES RetroPort and RetroPad register only 4 gamepad buttons +when they should register all 8 buttons. This is described here: + +https://ask.fedoraproject.org/en/question/128102 + +This is happening because of: + +Commit 190d7f02ce8e ("HID: input: do not increment usages when + duplicate is found") + +Here, I add the quirk HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE +(created for backward compatibility with the change in 190d7f02ce8e) +for the two products. + +Tested with both RetroPort and RetroPad. + +Cc: stable@vger.kernel.org # v4.18+ + +Signed-off-by: Nic Soudée +Signed-off-by: Benjamin Tissoires +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/hid-ids.h | 4 ++++ + drivers/hid/hid-quirks.c | 2 ++ + 2 files changed, 6 insertions(+) + +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -934,6 +934,10 @@ + #define USB_VENDOR_ID_REALTEK 0x0bda + #define USB_DEVICE_ID_REALTEK_READER 0x0152 + ++#define USB_VENDOR_ID_RETROUSB 0xf000 ++#define USB_DEVICE_ID_RETROUSB_SNES_RETROPAD 0x0003 ++#define USB_DEVICE_ID_RETROUSB_SNES_RETROPORT 0x00f1 ++ + #define USB_VENDOR_ID_ROCCAT 0x1e7d + #define USB_DEVICE_ID_ROCCAT_ARVO 0x30d4 + #define USB_DEVICE_ID_ROCCAT_ISKU 0x319c +--- a/drivers/hid/hid-quirks.c ++++ b/drivers/hid/hid-quirks.c +@@ -136,6 +136,8 @@ static const struct hid_device_id hid_qu + { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3003), HID_QUIRK_NOGET }, + { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008), HID_QUIRK_NOGET }, + { HID_USB_DEVICE(USB_VENDOR_ID_REALTEK, USB_DEVICE_ID_REALTEK_READER), HID_QUIRK_NO_INIT_REPORTS }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_RETROUSB, USB_DEVICE_ID_RETROUSB_SNES_RETROPAD), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_RETROUSB, USB_DEVICE_ID_RETROUSB_SNES_RETROPORT), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, + { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD), HID_QUIRK_BADPAD }, + { HID_USB_DEVICE(USB_VENDOR_ID_SEMICO, USB_DEVICE_ID_SEMICO_USB_KEYKOARD2), HID_QUIRK_NO_INIT_REPORTS }, + { HID_USB_DEVICE(USB_VENDOR_ID_SEMICO, USB_DEVICE_ID_SEMICO_USB_KEYKOARD), HID_QUIRK_NO_INIT_REPORTS }, diff --git a/queue-4.19/series b/queue-4.19/series index c01e56effaa..3b06d292ae3 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -115,3 +115,4 @@ mac80211-clear-beacon_int-in-ieee80211_do_stop.patch mac80211-ignore-tx-status-for-ps-stations-in-ieee80211_tx_status_ext.patch mac80211-fix-reordering-of-buffered-broadcast-packets.patch mac80211-ignore-nullfunc-frames-in-the-duplicate-detection.patch +hid-quirks-fix-retrousb.com-devices.patch