• Johannes Berg's avatar
    mac80211: check interface is down before type change · c1f9a764
    Johannes Berg authored
    For some strange reason the netif_running() check
    ended up after the actual type change instead of
    before, potentially causing all kinds of problems
    if the interface is up while changing the type;
    one of the problems manifests itself as a warning:
    
    WARNING: at net/mac80211/iface.c:651 ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]()
    Hardware name: Aspire one
    Pid: 2596, comm: wpa_supplicant Tainted: G        W  2.6.31-10-generic #32-Ubuntu
    Call Trace:
     [] warn_slowpath_common+0x6d/0xa0
     [] warn_slowpath_null+0x15/0x20
     [] ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]
     [] ieee80211_if_change_type+0x4a/0xc0 [mac80211]
     [] ieee80211_change_iface+0x61/0xa0 [mac80211]
     [] cfg80211_wext_siwmode+0xc7/0x120 [cfg80211]
     [] ioctl_standard_call+0x58/0xf0
    
    (http://www.kerneloops.org/searchweek.php?search=ieee80211_teardown_sdata)
    
    Cc: Arjan van de Ven <arjan@infradead.org>
    Cc: stable@kernel.org
    Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    c1f9a764
cfg.c 34.1 KB