Message ID | 20201110072229.9112-1-roderick@gaikai.com (mailing list archive) |
---|---|
Headers | show |
Series | HID: sony: various DS4 improvements | expand |
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,
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(-)