Search Linux Wireless

Re: [PATCH] ipw2x00: fix rtnl mutex deadlock

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

 



On Wed, Sep 14, 2011 at 12:22:40PM -0500, Dan Williams wrote:
> On Wed, 2011-09-14 at 16:47 +0200, Stanislaw Gruszka wrote:
> > This fix regression introduced by:
> > 
> > commit: ecb4433550f0620f3d1471ae7099037ede30a91e
> > Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>
> > Date:   Fri Aug 12 14:00:59 2011 +0200
> > 
> >     mac80211: fix suspend/resume races with unregister hw
> > 
> > Above commit add rtnl_lock() into wiphy_register(), what cause deadlock
> > when initializing ipw2x00 driver, which itself call wiphy_register()
> > from register_netdev() internal callback with rtnl mutex taken.
> > 
> > To fix move wiphy_register() outside register_netdev(). This solution
> > have side effect of not creating /sys/class/net/wlanX/phy80211 link,
> > but that's a minor issue we can live with.
> 
> Unfortunately that path is one of the ways that programs distinguish
> wifi devices from plain ethernet devices.  The other way is to poke it
> with WEXT.  Should poking it with nl80211 be added to the mix instead?

Not sure, maybe device/ieee80211/phy0 could be used?

[stasiu@dhcp-27-172 ~]$ readlink -f /sys/class/net/wlan0/phy80211
/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0
[stasiu@dhcp-27-172 ~]$ readlink -f /sys/class/net/wlan0/device/ieee80211/phy0
/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0

> I guess for ipw2x00 it's not an issue since the driver depends on WEXT
> and thus the WEXT method will always work.

Hopefully yes.

Generally this link creation problem is fixable, but requires some more
rumble in ipw2x00 driver, which is old and orphaned, hence I'm reluctant
to modify it in some more way.

Stanislaw
--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux