Bug 87991 - hid-sony uses non-DMA-capable transfer buffer, fails
Summary: hid-sony uses non-DMA-capable transfer buffer, fails
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-10 13:43 UTC by Hector Martin
Modified: 2018-01-10 19:36 UTC (History)
1 user (show)

See Also:
Kernel Version: 3.17.1
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Hector Martin 2014-11-10 13:43:17 UTC
The kernel itself complains:

input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.2/1-1.2.2.4/1-1.2.2.4:1.0/0003:054C:0268.000A/input/input51
sony 0003:054C:0268.000A: input,hiddev0,hidraw3: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:1a.0-1.2.2.4/input0
------------[ cut here ]------------
WARNING: CPU: 1 PID: 27497 at drivers/usb/core/hcd.c:1503 usb_hcd_map_urb_for_dma+0x588/0x5a0 [usbcore]()
transfer buffer not dma capable
<snip>
sony 0003:054C:0268.000A: failed to retrieve feature report 0xf2 with the Sixaxis MAC address
sony: probe of 0003:054C:0268.000A failed with error -11

Looks like the code just uses a stack-allocated buffer (from drivers/hid/hid-sony.c):
        __u8 buf[18];
<snip comment>
        ret = hid_hw_raw_request(sc->hdev, 0xf2, buf, sizeof(buf),
                HID_FEATURE_REPORT, HID_REQ_GET_REPORT);
Comment 1 Dmitry Torokhov 2018-01-10 19:36:41 UTC
This should be fixed now.

Note You need to log in before you can comment on or make changes to this bug.