Comment 66 for bug 1326725

Revision history for this message
dualshock3nerd (dualshock3nerd) wrote :

I took some more time to research and I wrote a proper patch this time.
It's just six lines of code.

What this patch does is basically restore "hid_get_raw_report" field in "struct hid_device".
All the lines that are added by this patch were previously removed by this commit:
commit aa6c390c4d59c9ff4fffd887e15783b2b793951b
Author: Benjamin Tissoires

    HID: remove hid_get_raw_report in struct hid_device

More in depth description:
The field "hid_get_raw_report" was deprecated in more recent versions of the Linux kernel in favour of function "hid_hw_raw_request" but in 3.13 mainline the former is still used.
The hid-sony kernel driver in 3.13 relied on that field because the ps3 controller needs special quirks in order to set it's operational mode.
Function "hid_hw_raw_request" failed to do that.

This patch fixes the issue in a much cleaner way and leaves the changes necessary to fix bug http://bugs.launchpad.net/bugs/1305522 intact.

To anyone willing to test it and report back:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git ubuntu-trusty
cp sixaxis-trusty.patch ubuntu-trusty
cd ubuntu-trusty
git apply sixaxis-trusty.patch
CONCURRENCY_LEVEL=$(nproc) fakeroot make-kpkg --initrd kernel_image kernel_headers
After that, install the deb packages created and reboot using the new kernel.

@jsalisbury
I hope this helps to finally put an end to our investigation.