linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* will these methods work with firmware loading?
@ 2012-02-19 18:40 Larry Finger
  2012-02-20  9:46 ` Johannes Berg
  2012-02-20 10:01 ` Arend van Spriel
  0 siblings, 2 replies; 6+ messages in thread
From: Larry Finger @ 2012-02-19 18:40 UTC (permalink / raw)
  To: LKML, driverdevel, wireless, linux-hotplug

I sent a previous messages to most of these lists, but got no answer, thus a 
second try.

When a driver loads firmware synchronously in the module_init() path using 
request_firmware(), then there is trouble with timeouts when booting.

I know that changing the request_firmware() call to request_firmware_nowait() 
solves the problem; however, that gives some trouble for driver b43legacy as it 
loads 3 or 4 firmware files depending on the hardware version. When I launch the 
3 or 4 nowait requests, I get an error because the system is trying to start 
several tasks with the same name.

Would it be OK to load the first file with the nowait version, and issue a 
request_firmware() for the others from the callback routine? I think that would 
not cause any problems, but I would like to get confirmation from an expert.

Similarly, if I were to create a work queue, init and schedule it from 
module_init(), and then use synchronous loads to get the firmware from the work 
queue callback, would that get around the boot problem? I know it works as I 
have trial patches; however, my version of udev is not one affected. This method 
is very easy to implement, but again I would like confirmation from an expert.

Thanks,

Larry

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-02-20 20:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-19 18:40 will these methods work with firmware loading? Larry Finger
2012-02-20  9:46 ` Johannes Berg
2012-02-20 10:01 ` Arend van Spriel
2012-02-20 10:19   ` Kay Sievers
2012-02-20 10:32     ` Arend van Spriel
2012-02-20 20:12     ` Larry Finger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).