[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#607574: linux-image-2.6.32-5-686: wastes > 8s of boot time on something USB related that fails



tags 607574 + upstream fixed-upstream
quit

Hi Mario,

Mario wrote:

> [    7.808651] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
> [   16.409864] /build/buildd-linux-2.6_2.6.32-29-i386-Of6Yt1/linux-2.6-2.6.32/debian/build/source_i386_none/drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
> [   16.410069] generic-usb 0003:1C4F:0002.0002: timeout initializing reports
[...]
> Bus 004 Device 002: ID 1c4f:0002 SiGma Micro 

Thanks for a clear report.  Hopefully the following patch (which is in
linus's tree but not part of a release yet) fixes it.

commit f5e4282586dc
Author: Jeremiah Matthey <sprg86@gmail.com>
Date:   Tue Aug 23 09:44:30 2011 +0200

    HID: usbhid: Add support for SiGma Micro chip
    
    Patch to add SiGma Micro-based keyboards (1c4f:0002) to hid-quirks.
    
    These keyboards dont seem to allow the records to be initialized, and hence a
    timeout occurs when the usbhid driver attempts to initialize them. The patch
    just adds the signature for these keyboards to the hid-quirks list with the
    setting HID_QUIRK_NO_INIT_REPORTS. This removes the 5-10 second wait for the
    timeout to occur.
    
    Signed-off-by: Jeremiah Matthey <sprg86@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 61c880939f56..7d27d2b0445a 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -579,6 +579,9 @@
 #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE	0x0001
 #define USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE	0x0600
 
+#define USB_VENDOR_ID_SIGMA_MICRO	0x1c4f
+#define USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD	0x0002
+
 #define USB_VENDOR_ID_SKYCABLE			0x1223
 #define	USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER	0x3F07
 
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index 621959d5cc42..4bdb5d46c52c 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -89,6 +89,7 @@ static const struct hid_blacklist {
 
 	{ USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS, HID_QUIRK_MULTI_INPUT },
+	{ USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS },
 	{ 0, 0 }
 };
 



Reply to: