]> git.baikalelectronics.ru Git - kernel.git/commit
HID: sony: Fix for broken buttons on DS3 USB dongles
authorScott Shumate <scott.shumate@gmail.com>
Wed, 13 May 2020 18:39:26 +0000 (13:39 -0500)
committerJiri Kosina <jkosina@suse.cz>
Tue, 26 May 2020 09:00:49 +0000 (11:00 +0200)
commit6b272c61067c2262a324a86903fea3db9a3389b8
tree812784cc9f7a8f2c2ac9dff0cc7cabbb9cba9580
parent922d7ac1246d26750fd7f8425040736164b2cb88
HID: sony: Fix for broken buttons on DS3 USB dongles

Fix for non-working buttons on knock-off USB dongles for Sony
controllers. These USB dongles are used to connect older Sony DA/DS1/DS2
controllers via USB and are common on Amazon, AliExpress, etc.  Without
the patch, the square, X, and circle buttons do not function.  These
dongles used to work prior to kernel 4.10 but removing the global DS3
report fixup in commit 9a1f68b98e4d ("HID: sony: DS3 comply to Linux gamepad
spec") exposed the problem.

Many people reported the problem on the Ubuntu forums and are working
around the problem by falling back to the 4.9 hid-sony driver.

The problem stems from these dongles incorrectly reporting their button
count as 13 instead of 16.  This patch fixes up the report descriptor by
changing the button report count to 16 and removing 3 padding bits.

Cc: stable@vger.kernel.org
Fixes: 9a1f68b98e4d ("HID: sony: DS3 comply to Linux gamepad spec")
Signed-off-by: Scott Shumate <scott.shumate@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-sony.c