Re: 2.6.21-rc6-mm1 USB related boot hang

From: Jiri Kosina
Date: Thu Apr 12 2007 - 14:34:04 EST


On Thu, 12 Apr 2007, Helge Hafting wrote:

> The last messages (handwritten, somewhat shortened)
> calling hid_init+0x0/0x10()
> returned 0
> ran for 0 msec
> calling hid_init+0x0/0x50()
> usbcore registered new interface driver hiddev
> and then it hangs completely.

OK, so it hangs somewhere nearby usbhid's hid_init(), and the
usb_register() has been already invoked. Could you please apply the
superstupid patch below and send me the output up to the point it hangs? I
am curious to know whether it hangs somewhere inside usb_register(), or
elsewhere.

Thanks.

diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 1ddca31..d930f62 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -1550,15 +1550,22 @@ static int __init hid_init(void)
retval = hiddev_init();
if (retval)
goto hiddev_init_fail;
+ printk(KERN_DEBUG "hid_init: before usb_register()\n");
retval = usb_register(&hid_driver);
+ printk(KERN_DEBUG "hid_init: after usb_register(), retuned %d\n", retval);
if (retval)
goto usb_register_fail;
info(DRIVER_VERSION ":" DRIVER_DESC);

+ printk(KERN_DEBUG "hid_init: returning 0\n");
+ dump_stack();
return 0;
usb_register_fail:
+ printk(KERN_DEBUG "hid_init: calling hiddev_exit()\n");
hiddev_exit();
hiddev_init_fail:
+ printk(KERN_DEBUG "hid_init: returning %d\n", retval);
+ dump_stack();
return retval;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/