linux/net/wireless
Daniel Drake 1f6fc43e62 cfg80211: process pending events when unregistering net device
libertas currently calls cfg80211_disconnected() when it is being
brought down. This causes an event to be allocated, but since the
wdev is already removed from the rdev by the time that the event
processing work executes, the event is never processed or freed.
http://article.gmane.org/gmane.linux.kernel.wireless.general/95666

Fix this leak, and other possible situations, by processing the event
queue when a device is being unregistered. Thanks to Johannes Berg for
the suggestion.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Cc: stable@vger.kernel.org
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-08-06 14:29:58 -04:00
..
.gitignore
Kconfig cfg80211: add CONFIG_CFG80211_CERTIFICATION_ONUS 2012-07-17 12:13:51 +02:00
Makefile cfg80211: introduce cfg80211_stop_ap 2012-06-29 13:39:14 +02:00
ap.c cfg80211: add channel tracking for AP and mesh 2012-06-29 13:39:15 +02:00
chan.c cfg80211: reduce monitor interface tracking 2012-07-13 16:16:11 +02:00
core.c cfg80211: process pending events when unregistering net device 2012-08-06 14:29:58 -04:00
core.h cfg80211: process pending events when unregistering net device 2012-08-06 14:29:58 -04:00
db.txt
debugfs.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
debugfs.h
ethtool.c cfg80211: Add framework to support ethtool stats. 2012-05-08 21:53:49 -04:00
ethtool.h
genregdb.awk cfg80211: relicense reg.c reg.h and genregdb.awk to ISC 2012-01-04 14:30:41 -05:00
ibss.c cfg80211: respect iface combinations when starting operation 2012-06-29 13:39:19 +02:00
lib80211.c
lib80211_crypt_ccmp.c net: Convert net_ratelimit uses to net_<level>_ratelimited 2012-05-15 13:45:03 -04:00
lib80211_crypt_tkip.c net: Convert net_ratelimit uses to net_<level>_ratelimited 2012-05-15 13:45:03 -04:00
lib80211_crypt_wep.c
mesh.c cfg80211: respect iface combinations when starting operation 2012-06-29 13:39:19 +02:00
mlme.c cfg80211: support TX error rate CQM 2012-07-17 11:57:23 +02:00
nl80211.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-07-20 12:30:48 -04:00
nl80211.h cfg80211: support TX error rate CQM 2012-07-17 11:57:23 +02:00
radiotap.c
reg.c cfg80211: Clear "beacon_found" on regulatory restore 2012-08-02 15:34:22 +02:00
reg.h cfg80211: make regulatory_update() static 2012-07-17 12:16:40 +02:00
regdb.h cfg80211: relicense reg.c reg.h and genregdb.awk to ISC 2012-01-04 14:30:41 -05:00
scan.c nl80211: move scan API to wdev 2012-07-12 12:10:41 +02:00
sme.c nl80211: move scan API to wdev 2012-07-12 12:10:41 +02:00
sysfs.c
sysfs.h
util.c cfg80211: process pending events when unregistering net device 2012-08-06 14:29:58 -04:00
wext-compat.c cfg80211/mac80211: re-add get_channel operation 2012-07-13 16:16:11 +02:00
wext-compat.h
wext-core.c net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
wext-priv.c
wext-proc.c
wext-sme.c cfg80211: clarify set_channel APIs 2012-06-06 15:18:17 -04:00
wext-spy.c wireless: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:19 -04:00