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: