[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



Version: 3.1.0~rc4-1~experimental.1

Jonathan Nieder wrote:
> Mario wrote:

>> Version: 2.6.32-29
[...]
>> [    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 

Should be fixed by v3.1-rc4~47^2^2 (HID: usbhid: Add support for SiGma
Micro chip, 2011-08-23).  Mario, can you confirm[1]?  Greg et al, does
this patch look like a reasonable candidate for the linux-2.6.32.y
tree?

-- >8 --
From: Jeremiah Matthey <sprg86@gmail.com>
Date: Tue, 23 Aug 2011 09:44:30 +0200
Subject: HID: usbhid: Add support for SiGma Micro chip

commit f5e4282586dc0c9dab8c7d32e6c43aa07f68586b upstream.

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>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
[1] by testing the kernel from experimental[3], or even better, by building
    a 2.6.32.y kernel with this patch applied[2]
[2] http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-kernel-org-package
[3] http://wiki.debian.org/DebianExperimental

 drivers/hid/hid-ids.h           |    3 +++
 drivers/hid/usbhid/hid-quirks.c |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index aef92bbe2cd5..216b285b67f1 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -389,6 +389,9 @@
 #define USB_VENDOR_ID_SAMSUNG		0x0419
 #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE	0x0001
 
+#define USB_VENDOR_ID_SIGMA_MICRO	0x1c4f
+#define USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD	0x0002
+
 #define USB_VENDOR_ID_SONY			0x054c
 #define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE	0x024b
 #define USB_DEVICE_ID_SONY_PS3_CONTROLLER	0x0268
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index 64c5dee27106..08a02abfca91 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -65,6 +65,7 @@ static const struct hid_blacklist {
 	{ USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
 
+	{ USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS },
 	{ 0, 0 }
 };
 
-- 
1.7.7




Reply to: