On 06/01/2012 10:52 PM, Antti Palosaari wrote:
-------- Original Message -------- Subject: [Bug 827538] DVB USB device firmware requested in module_init() Date: Fri, 01 Jun 2012 19:44:17 +0000 From: bugzilla@xxxxxxxxxx To: crope@xxxxxx https://bugzilla.redhat.com/show_bug.cgi?id=827538 Kay Sievers <kay@xxxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gansalmon@xxxxxxxxx, | |itamar@xxxxxxxxxxxxxxxx, | |kernel-maint@xxxxxxxxxx, | |madhu.chinakonda@xxxxxxxxx Component|udev |kernel Assignee|udev-maint@xxxxxxxxxx |kernel-maint@xxxxxxxxxx Summary|DVB USB device firmware |DVB USB device firmware |downloading takes 30 |requested in module_init() |seconds | --- Comment #1 from Kay Sievers <kay@xxxxxxxxxx> --- This is very likely a kernel driver issue. Drivers must not load firmware in the module_init() path, or device probe()/bind() path. This creates a deadlock in the event handling. We used to silently try to work around that, but recently started to log this error explicitely. The firmware should in general be requested asynchronously, or at the first open() of the device. Details are here: http://thread.gmane.org/gmane.linux.network/217729
I suspect all of our DVB USB firmere downloading problems are coming from that issues. I mean especially those suspend / resume failings too.
What I think I will try to delay driver registertration using workqueue. Return just success for the USB driver probe and continue real probe from workqueue.
Antti -- http://palosaari.fi/ -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html