Search Linux Wireless

Re: [PATCH 01/14] brcmfmac: add delay before unregistering the network device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2014-02-26 at 10:07 +0100, Arend van Spriel wrote:
> On 02/25/2014 08:59 PM, Johannes Berg wrote:
> > On Tue, 2014-02-25 at 20:30 +0100, Arend van Spriel wrote:
> >> Upon deleting the interface a cfg80211_disconnected() is called under
> >> rtnl_lock. Right after the unlocking the rtnl_lock we unregister the
> >> network device. This patch adds delay before unregister so cfg80211
> >> can handle disconnect and notify wpa_supplicant.
> > 
> >> +				/* make sure cfg80211 can send disconnect event
> >> +				 * before unregistering the netdevice below.
> >> +				 */
> >> +				msleep(100);
> > 
> > This has got to be one of the worst hacks I've seen in wireless so
> > far ... :)
> 
> Did you see I removed a sleep as well in this patch :-p

Yeah, I did :-)

> I just don't see how I can assure cfg80211 has actually done the
> disconnect work. If we don't do a cfg80211_disconnected() I get a WARN
> from the cfg80211 netdev notifier (or at least I did in previous kernel).
> 
> Should we consider a clean solution, ie. modify cfg80211 for this scenario?

Yes. Can't we just flush the work at some strategic place?

Actually you're not talking about the "disconnect_work" (which is
related to regulatory) but the "event_work" so I was confused here for a
second.

What was the warning? cfg80211 already calls
cfg80211_process_wdev_events() from within the REMOVE netdev notifier,
so that *shouldn't* have happened.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux