Thread (13 messages) flat view 13 messages, 4 authors, 2011-11-02

Re: BUG: hid-multitouch causes 10 second delay and error

From: Benjamin Tissoires <hidden>
Date: 2011-10-27 09:25:17

Hi Sean,


On Wed, Oct 26, 2011 at 23:37, Sean Young [off-list ref] wrote:
Since this commit:

       commit 0db3bfc72adf0cb70f08dfe92e4040f64e25e205

       HID: multitouch: decide if hid-multitouch needs to handle mt devices

I get the following when I insert a smartjoy device (hid-sjoy driver):

[ 3727.405037] usb 7-1: new low speed USB device number 2 using uhci_hcd
[ 3727.709082] usb 7-1: New USB device found, idVendor=6666, idProduct=8802
[ 3727.709087] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3727.709092] usb 7-1: Product: TigerGame PS/PS2 Game Controller Adapter
[ 3727.709095] usb 7-1: Manufacturer: WiseGroup.,Ltd
[ 3738.002095] hid-multitouch 0003:6666:8802.0005: timeout initializing reports
[ 3738.007861] input: WiseGroup.,Ltd TigerGame PS/PS2 Game Controller Adapter as /devices/pci0000:00/0000:00:1d.1/usb7/7-1/7-1:1.0/input/input17
[ 3738.008137] smartjoyplus 0003:6666:8802.0005: input,hidraw4: USB HID v1.00 Joystick [WiseGroup.,Ltd TigerGame PS/PS2 Game Controller Adapter] on usb-0000:00:1d.1-1/input0
[ 3738.008163] smartjoyplus 0003:6666:8802.0005: Force feedback for SmartJoy PLUS PS2/USB adapter

Note the 10 second delay caused by the hid-multitouch error.
Thanks for this bug report. It's great that this bug that concerns
only 9 devices has been reported.
To sum up, I'll have to redo my patch.
If I understand it correctly, the problem is that hid-multitouch now has
a catch-all usb-id field, and does a usbhid_init_reports() on the device
without the quirk HID_QUIRK_NOGET.
yep
The HID_QUIRK_NOGET for this device is listed in the hid-sjoy.c driver itself
rather than in hid-quirks.c; presumably the latter is handled correctly.
It should work, but this patch was a little bit too invasive.
Is there a different way of handling this rather than hid-multitouch
messing with every usb device which identifies itself as hid? Alternatively,
should all quirks for all devices be specified in hid-quirks.c and not in
individual drivers?
I'm working on a better solution than this patch (I've just found it
but I need some time to format and send it...)

Cheers,
Benjamin
Sean
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help