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.