mbox series

[0/3] HID: sony: various DS4 improvements

Message ID 20201110072229.9112-1-roderick@gaikai.com
Headers show
Series HID: sony: various DS4 improvements | expand

Message

Roderick Colenbrander Nov. 10, 2020, 7:22 a.m. UTC
From: Roderick Colenbrander <roderick.colenbrander@sony.com>

Hi,

This patch series provides a number of independent DS4 driver
improvements.

The first patch improves DS4 battery level and battery status
reporting. The current implementation interpreted the value
ranges and status levels incorrectly.

The second patch fixes a DS4 dongle kernel crash (bug 206785).
The specific problem is related to Steam, which implements
its own user-space DS4 driver using hidraw. It collides during
DS4 dongle hotplug, causing 'out of order HID feature reports'.
The driver didn't expect this and this led to a kernel crash
later on due to interpreting data incorrectly. The workaround
is checking if the right data was returned and retrying.
Though, I really really dislike this type of fix. Long-term
some solution is needed to perhaps prevent hidraw and evdev
drivers to step on each other's toes. For now this fixes
the current problem.

The last patch fixes sysfs cleanup issues encountered using
the DS4 dongle.

Thanks,
Roderick

Roderick Colenbrander (3):
  HID: sony: Report more accurate DS4 power status.
  HID: sony: Workaround for DS4 dongle hotplug kernel crash.
  HID: sony: Don't use fw_version/hw_version for sysfs cleanup.

 drivers/hid/hid-sony.c | 135 ++++++++++++++++++++++++++---------------
 1 file changed, 86 insertions(+), 49 deletions(-)

Comments

Jiri Kosina Nov. 25, 2020, 12:55 p.m. UTC | #1
On Mon, 9 Nov 2020, Roderick Colenbrander wrote:

> From: Roderick Colenbrander <roderick.colenbrander@sony.com>

> 

> Hi,

> 

> This patch series provides a number of independent DS4 driver

> improvements.

> 

> The first patch improves DS4 battery level and battery status

> reporting. The current implementation interpreted the value

> ranges and status levels incorrectly.

> 

> The second patch fixes a DS4 dongle kernel crash (bug 206785).

> The specific problem is related to Steam, which implements

> its own user-space DS4 driver using hidraw. It collides during

> DS4 dongle hotplug, causing 'out of order HID feature reports'.

> The driver didn't expect this and this led to a kernel crash

> later on due to interpreting data incorrectly. The workaround

> is checking if the right data was returned and retrying.

> Though, I really really dislike this type of fix. Long-term

> some solution is needed to perhaps prevent hidraw and evdev

> drivers to step on each other's toes. For now this fixes

> the current problem.

> 

> The last patch fixes sysfs cleanup issues encountered using

> the DS4 dongle.


Hi Roderick,

I've applied the kernel crash fix to for-5.10/upstream-fixes and remaining 
two to for-5.11/sony.

Thanks,

-- 
Jiri Kosina
SUSE Labs