[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0BA3FCBA62E2DC44AF3030971E174FB303D23ABD@HASMSX103.ger.corp.intel.com>
Date: Wed, 18 Dec 2013 09:18:39 +0000
From: "Grumbach, Emmanuel" <emmanuel.grumbach@...el.com>
To: Arend van Spriel <arend@...adcom.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Sander Eikelenboom <linux@...elenboom.it>
CC: Ben Hutchings <ben@...adent.org.uk>,
Julian Calaby <julian.calaby@...il.com>,
"Luis R. Rodriguez" <mcgrof@...not-panic.com>,
"Berg, Johannes" <johannes.berg@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"ilw@...ux.intel.com" <ilw@...ux.intel.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"John W. Linville" <linville@...driver.com>,
Avinash Patil <avinashapatil@...il.com>
Subject: RE: [cfg80211 / iwlwifi] setting wireless regulatory domain doesn't
work.
>
> 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."
Powered by blists - more mailing lists