kernel-ark/net/mac80211
John W. Linville 0654ff055c [PATCH] ieee80211_if_set_type: make check for master dev more explicit
Problem description by Daniel Drake <dsd@gentoo.org>:

"This sequence of events causes loss of connectivity:

<plug in>
<associate as normal in managed mode>
ifconfig eth7 down
iwconfig eth7 mode monitor
ifconfig eth7 up
ifconfig eth7 down
iwconfig eth7 mode managed
<associate as normal>

At this point you are associated but TX does not work. This is because
the eth7 hard_start_xmit is still ieee80211_monitor_start_xmit."

The problem is caused by ieee80211_if_set_type checking for a non-zero
hard_start_xmit pointer value in order to avoid changing that value for
master devices.  The fix is to make that check more explicitly linked to
master devices rather than simply checking if the value has been
previously set.

CC: Daniel Drake <dsd@gentoo.org>
Acked-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10 16:55:23 -07:00
..
aes_ccm.c [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
aes_ccm.h [MAC80211]: Add mac80211 wireless stack. 2007-05-05 11:45:53 -07:00
cfg.c [MAC80211]: implement cfg80211's change_interface hook 2007-10-10 16:54:20 -07:00
cfg.h [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
debugfs_key.c [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
debugfs_key.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs_netdev.c [PATCH] mac80211: validate VLAN interfaces better 2007-10-10 16:52:57 -07:00
debugfs_netdev.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs_sta.c [MAC80211]: kill vlan_id 2007-10-10 16:52:33 -07:00
debugfs_sta.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs.c [MAC80211]: remove key threshold stuff 2007-10-10 16:52:29 -07:00
debugfs.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
event.c [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
ieee80211_common.h [MAC80211]: remove key threshold stuff 2007-10-10 16:52:29 -07:00
ieee80211_i.h [MAC80211]: Add association LED trigger 2007-10-10 16:54:20 -07:00
ieee80211_iface.c [PATCH] ieee80211_if_set_type: make check for master dev more explicit 2007-10-10 16:55:23 -07:00
ieee80211_ioctl.c [MAC80211]: make userspace-mlme a per-interface setting 2007-10-10 16:54:19 -07:00
ieee80211_key.h [PATCH] mac80211: remove crypto algorithm typedef 2007-10-10 16:53:00 -07:00
ieee80211_led.c [MAC80211]: Add association LED trigger 2007-10-10 16:54:20 -07:00
ieee80211_led.h [MAC80211]: Add association LED trigger 2007-10-10 16:54:20 -07:00
ieee80211_rate.c [MAC80211]: remove management interface 2007-10-10 16:54:15 -07:00
ieee80211_rate.h [MAC80211]: remove management interface 2007-10-10 16:54:15 -07:00
ieee80211_sta.c [MAC80211]: Add association LED trigger 2007-10-10 16:54:20 -07:00
ieee80211.c [MAC80211]: make userspace-mlme a per-interface setting 2007-10-10 16:54:19 -07:00
Kconfig [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
key.c [MAC80211]: remove ALG_NONE 2007-10-10 16:54:18 -07:00
Makefile [MAC80211]: rename ieee80211_cfg.c to cfg.c 2007-10-10 16:52:32 -07:00
michael.c [MAC80211]: Add mac80211 wireless stack. 2007-05-05 11:45:53 -07:00
michael.h [MAC80211]: Add mac80211 wireless stack. 2007-05-05 11:45:53 -07:00
rc80211_simple.c [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
regdomain.c [MAC80211]: remove turbo modes 2007-10-10 16:49:27 -07:00
rx.c [MAC80211]: make userspace-mlme a per-interface setting 2007-10-10 16:54:19 -07:00
sta_info.c [MAC80211]: add sta_notify callback 2007-10-10 16:54:21 -07:00
sta_info.h [MAC80211]: kill vlan_id 2007-10-10 16:52:33 -07:00
tkip.c [PATCH] mac80211: fix TKIP IV update 2007-10-10 16:53:16 -07:00
tkip.h [PATCH] mac80211: fix TKIP IV update 2007-10-10 16:53:16 -07:00
tx.c [MAC80211]: improve radiotap injection 2007-10-10 16:54:18 -07:00
util.c [MAC80211]: fix warnings introduced by the doc patches 2007-10-10 16:52:30 -07:00
wep.c [PATCH] mac80211: remove ieee80211_wep_get_keyidx 2007-10-10 16:53:14 -07:00
wep.h [PATCH] mac80211: remove ieee80211_wep_get_keyidx 2007-10-10 16:53:14 -07:00
wme.c [MAC80211]: remove management interface 2007-10-10 16:54:15 -07:00
wme.h [MAC80211]: move QoS rx handlers into rx.c 2007-10-10 16:47:30 -07:00
wpa.c [PATCH] mac80211: fix TKIP IV update 2007-10-10 16:53:16 -07:00
wpa.h [PATCH] mac80211: consolidate encryption 2007-10-10 16:53:14 -07:00