linux/net/wireless
Johannes Berg 3207390a8b cfg80211: fix BSS double-unlinking
When multiple interfaces are actively trying
to associate with the same BSS, they may both
find that the BSS isn't there and then try to
unlink it. This can cause errors since the
unlinking code can't currently deal with items
that have already been unlinked.

Normally this doesn't happen as most people
don't try to use multiple station interfaces
that associate at the same time too.

Fix this by using the list entry as a flag to
see if the item is still on a list.

Cc: stable@kernel.org
Reported-by: Ben Greear <greearb@candelatech.com>
Tested-by: Hun-Kyi Wynn <hkwynn@candelatech.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-06 16:30:43 -04:00
..
.gitignore wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
chan.c cfg80211: don't refuse HT20 channels on devices that don't support HT40 2010-06-02 16:13:17 -04:00
core.c wireless: Use first phyX name available when registering phy devices. 2010-10-05 13:35:21 -04:00
core.h cfg80211/mac80211: allow per-station GTKs 2010-10-06 16:30:40 -04:00
db.txt wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
debugfs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
ethtool.c cfg80211: add firmware and hardware version to wiphy 2009-10-07 16:39:46 -04:00
ethtool.h net/wireless/ethtool.h: drop unnecessary include of linux/ethtool.h 2009-10-07 16:39:49 -04:00
genregdb.awk wireless: correct sparse warning in generated regdb.c 2010-07-20 16:49:37 -04:00
ibss.c cfg80211/mac80211: allow per-station GTKs 2010-10-06 16:30:40 -04:00
Kconfig wireless: remove CONFIG_WIRELESS_OLD_REGULATORY 2009-12-28 16:31:37 -05:00
lib80211_crypt_ccmp.c lib80211: remove unused host_build_iv option 2010-07-26 15:09:04 -04:00
lib80211_crypt_tkip.c lib80211: remove unused host_build_iv option 2010-07-26 15:09:04 -04:00
lib80211_crypt_wep.c lib80211: remove unused host_build_iv option 2010-07-26 15:09:04 -04:00
lib80211.c lib80211: consolidate crypt init routines 2008-11-21 11:08:17 -05:00
Makefile wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
mlme.c cfg80211/mac80211: allow management frame TX in AP mode 2010-10-05 13:35:23 -04:00
nl80211.c nl80211/mac80211: Add retry and failed transmission count to station info 2010-10-06 16:30:43 -04:00
nl80211.h cfg80211/mac80211: extensible frame processing 2010-08-24 16:27:56 -04:00
radiotap.c net/wireless: use ARRAY_SIZE macro in radiotap.c 2010-09-14 16:05:57 -04:00
reg.c cfg80211/mac80211: use lockdep_assert_held 2010-09-16 15:46:00 -04:00
reg.h wireless: move regulatory_init to .init.text 2010-06-18 15:11:13 -04:00
regdb.h wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
scan.c cfg80211: fix BSS double-unlinking 2010-10-06 16:30:43 -04:00
sme.c cfg80211/mac80211: allow per-station GTKs 2010-10-06 16:30:40 -04:00
sysfs.c cfg80211: support sysfs namespaces 2010-08-16 15:26:40 -04:00
sysfs.h
util.c cfg80211/mac80211: allow per-station GTKs 2010-10-06 16:30:40 -04:00
wext-compat.c cfg80211/mac80211: allow per-station GTKs 2010-10-06 16:30:40 -04:00
wext-compat.h cfg80211: validate channel settings across interfaces 2009-08-14 09:13:42 -04:00
wext-core.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-09-24 15:52:34 -04:00
wext-priv.c wext: fix potential private ioctl memory content leak 2010-09-20 13:41:40 -04:00
wext-proc.c net: spread __net_init, __net_exit 2010-01-17 19:16:02 -08:00
wext-sme.c cfg80211: allow changing port control protocol 2010-08-27 13:27:07 -04:00
wext-spy.c wext: refactor 2009-10-07 16:39:43 -04:00