> 
> On 12/17/2013 11:06 PM, Linus Torvalds wrote:
> > We have literally had this *exact* same issue with firmware loading.
> > Network drivers shouldn't try to load firmware at module load time.
> > Same deal.
> 
> It is kind of a chicken and egg problem for (wireless) networking drivers. To
> get IFF_UP from the network layer you have to register a netdevice. For
> wireless drivers this means you have to register a wiphy device with cfg80211
> which flags capabilities and optionally are custom regulatory domain. That
> information depends on the device and firmware used. And there we have a
> full circle.
> 

To solve this - iwlwifi uses request_firmware_nowait. Its doc reads:

"Asynchronous variant of request_firmware for user contexts: - sleep for as 
small periods as possible since it may increase kernel boot time of built-in 
device drivers requesting firmware in their ->probe methods, if gfp is 
GFP_KERNEL."

Reply via email to