linux/net/mac80211
Johannes Berg c1f9a764cf mac80211: check interface is down before type change
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: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-11-02 15:14:07 -05:00
..
Kconfig wireless: remove mac80211 rate selection extra menu 2009-09-02 15:29:03 -04:00
Makefile
aes_ccm.c
aes_ccm.h
aes_cmac.c
aes_cmac.h
agg-rx.c
agg-tx.c mac80211: fix addba timer 2009-10-30 15:50:25 -04:00
cfg.c mac80211: check interface is down before type change 2009-11-02 15:14:07 -05:00
cfg.h
debugfs.c
debugfs.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c
debugfs_netdev.h
debugfs_sta.c
debugfs_sta.h
driver-ops.h mac80211: remove tasklet enable/disable 2009-08-28 14:40:34 -04:00
driver-trace.c
driver-trace.h
event.c
ht.c mac80211: fix reason code output endianness 2009-10-30 15:50:25 -04:00
ibss.c mac80211: fix BSS leak 2009-10-30 15:50:24 -04:00
ieee80211_i.h wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
iface.c net: Add DEVTYPE support for Ethernet based devices 2009-09-11 12:54:55 -07:00
key.c
key.h
led.c
led.h
main.c mac80211: remove tasklet enable/disable 2009-08-28 14:40:34 -04:00
mesh.c
mesh.h
mesh_hwmp.c mac80211: trivial: fix spelling in mesh_hwmp 2009-10-27 16:29:47 -04:00
mesh_pathtbl.c
mesh_plink.c
michael.c
michael.h
mlme.c mac80211: keep auth state when assoc fails 2009-10-27 16:29:47 -04:00
pm.c mac80211: fix configure_filter invocation after stop 2009-08-28 14:40:25 -04:00
rate.c
rate.h
rc80211_minstrel.c rc80211_minstrel: fix contention window calculation 2009-09-23 11:35:42 -04:00
rc80211_minstrel.h mac80211: Remove unnused throughput field from minstrel_rate. 2009-08-28 14:40:34 -04:00
rc80211_minstrel_debugfs.c net: file_operations should be const 2009-09-02 01:03:53 -07:00
rc80211_pid.h
rc80211_pid_algo.c
rc80211_pid_debugfs.c net: file_operations should be const 2009-09-02 01:03:53 -07:00
rx.c mac80211: document ieee80211_rx() context requirement 2009-10-12 15:55:53 -04:00
scan.c mac80211: fix DTIM setting 2009-09-23 11:35:53 -04:00
spectmgmt.c
sta_info.c mac80211: fix vlan and optimise RX 2009-10-07 16:33:49 -04:00
sta_info.h
tkip.c
tkip.h
tx.c mac80211: fix for incorrect sequence number on hostapd injected frames 2009-10-27 16:29:48 -04:00
util.c mac80211: use kfree_skb() to free struct sk_buff pointers 2009-10-07 16:33:51 -04:00
wep.c
wep.h
wme.c
wme.h
wpa.c
wpa.h