diff mbox

hid: Remove QUANTA from special drivers list

Message ID 1345630637-7142-1-git-send-email-simon.farnsworth@onelan.co.uk (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show

Commit Message

Simon Farnsworth Aug. 22, 2012, 10:17 a.m. UTC
This QUANTA device is driven by the generic hid-multitouch.ko driver, and
therefore shouldn't be in the special drivers list.

I've gone over the entire special drivers list in hid-core.c; this is the
only device I spotted that's listed as needing a special driver, but doesn't
have an entry in a struct hid_driver's id_table.

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
---

Applying just this patch is enough to fix the problem I described in my mail
"QUANTA touchscreen controller integrated in HP2310ti no longer recognised
(regression in 3.5 and later as compared to 3.3)".

This looks like an oversight in commit 4fa3a58; that commit removes most
multitouch screens from this list, but missed this one. Henrik should be
able to confirm, though, so I'd appreciate his sign-off.

 drivers/hid/hid-core.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Jiri Kosina Aug. 22, 2012, 2:48 p.m. UTC | #1
On Wed, 22 Aug 2012, Simon Farnsworth wrote:

> This QUANTA device is driven by the generic hid-multitouch.ko driver, and
> therefore shouldn't be in the special drivers list.
> 
> I've gone over the entire special drivers list in hid-core.c; this is the
> only device I spotted that's listed as needing a special driver, but doesn't
> have an entry in a struct hid_driver's id_table.
> 
> Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
> ---
> 
> Applying just this patch is enough to fix the problem I described in my mail
> "QUANTA touchscreen controller integrated in HP2310ti no longer recognised
> (regression in 3.5 and later as compared to 3.3)".
> 
> This looks like an oversight in commit 4fa3a58; that commit removes most
> multitouch screens from this list, but missed this one. Henrik should be
> able to confirm, though, so I'd appreciate his sign-off.
> 
>  drivers/hid/hid-core.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index 60ea284..8bf8a64 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1624,7 +1624,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
> -	{ HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ARVO) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ISKU) },

Good catch, thank you. I will be pushing this to Linus for 3.6 still.
Henrik Rydberg Aug. 22, 2012, 5 p.m. UTC | #2
> > Applying just this patch is enough to fix the problem I described in my mail
> > "QUANTA touchscreen controller integrated in HP2310ti no longer recognised
> > (regression in 3.5 and later as compared to 3.3)".
> > 
> > This looks like an oversight in commit 4fa3a58; that commit removes most
> > multitouch screens from this list, but missed this one. Henrik should be
> > able to confirm, though, so I'd appreciate his sign-off.

Yes, good find. We have two identifiers for the same device,
USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN and
USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001, which might explain why it
was overlooked. I think we should get rid of one of them. Also, I
wonder if the HID_QUIRK_NOGET quirk is still necessary.

Thanks,
Henrik
--
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
Simon Farnsworth Aug. 23, 2012, 10:10 a.m. UTC | #3
On Wednesday 22 August 2012 19:00:52 Henrik Rydberg wrote:
> > > Applying just this patch is enough to fix the problem I described in my mail
> > > "QUANTA touchscreen controller integrated in HP2310ti no longer recognised
> > > (regression in 3.5 and later as compared to 3.3)".
> > > 
> > > This looks like an oversight in commit 4fa3a58; that commit removes most
> > > multitouch screens from this list, but missed this one. Henrik should be
> > > able to confirm, though, so I'd appreciate his sign-off.
> 
> Yes, good find. We have two identifiers for the same device,
> USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN and
> USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001, which might explain why it
> was overlooked. I think we should get rid of one of them. Also, I
> wonder if the HID_QUIRK_NOGET quirk is still necessary.
> 
I'll send a follow-on patch to remove the PIXART_IMAGING identifier. I tried
removing the HID_QURIK_NOGET quirk, but it appears to be needed: without it,
I get:

[    1.472269] usb 6-1: New USB device found, idVendor=0408, idProduct=3001
[    1.472275] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.472279] usb 6-1: Product: Optical Touch Screen
[    1.472284] usb 6-1: Manufacturer: QUANTA
<snip>
[   15.884252] hid-multitouch 0003:0408:3001.0001: usb_submit_urb(ctrl) failed: -1
[   15.884337] hid-multitouch 0003:0408:3001.0001: timeout initializing reports
[   15.884584] input: QUANTA Optical Touch Screen as /devices/pci0000:00/0000:00:1d.1/usb6/6-1/6-1:1.0/input/input10
[   15.884783] hid-multitouch 0003:0408:3001.0001: input,hidraw0: USB HID v1.10 Device [QUANTA Optical Touch Screen] on usb-0000:00:1d.1-1/input0

If I leave the quirk in place, I don't get the 14 second delay, suggesting 
that the quirk is needed on this hardware.
Henrik Rydberg Aug. 23, 2012, 4:48 p.m. UTC | #4
> I'll send a follow-on patch to remove the PIXART_IMAGING identifier. I tried
> removing the HID_QURIK_NOGET quirk, but it appears to be needed: without it,
> I get:
> 
> [    1.472269] usb 6-1: New USB device found, idVendor=0408, idProduct=3001
> [    1.472275] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [    1.472279] usb 6-1: Product: Optical Touch Screen
> [    1.472284] usb 6-1: Manufacturer: QUANTA
> <snip>
> [   15.884252] hid-multitouch 0003:0408:3001.0001: usb_submit_urb(ctrl) failed: -1
> [   15.884337] hid-multitouch 0003:0408:3001.0001: timeout initializing reports
> [   15.884584] input: QUANTA Optical Touch Screen as /devices/pci0000:00/0000:00:1d.1/usb6/6-1/6-1:1.0/input/input10
> [   15.884783] hid-multitouch 0003:0408:3001.0001: input,hidraw0: USB HID v1.10 Device [QUANTA Optical Touch Screen] on usb-0000:00:1d.1-1/input0
> 
> If I leave the quirk in place, I don't get the 14 second delay, suggesting 
> that the quirk is needed on this hardware.

It makes sense, the same applies to 0x3008. Thanks for checking.

Henrik
--
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
diff mbox

Patch

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 60ea284..8bf8a64 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1624,7 +1624,6 @@  static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ARVO) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_ISKU) },