Johannes Berg
b20d34c458
mac80211: fix station entry leak/warning while suspending
...
Since Stanislaw's patches, when suspending while connected,
cfg80211 will disconnect. This causes the AP station to be
removed, which uses call_rcu() to clean up. Due to needing
process context, this queues a work struct on the mac80211
workqueue. This will warn and fail when already suspended,
which can happen if the rcu call doesn't happen quickly.
To fix this, replace the synchronize_net() which is really
just synchronize_rcu_expedited() with rcu_barrier(), which
unlike synchronize_rcu() waits until RCU callback have run
and thus avoids this issue.
In theory, this can even happen without Stanislaw's change
to disconnect on suspend since userspace might disconnect
just before suspending, though then it's unlikely that the
call_rcu() will be delayed long enough.
Cc: stable@vger.kernel.org [3.7+]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-17 11:40:39 +02:00
..
9p
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
802
mrp: make mrp_rcv static
2013-02-11 14:16:26 -05:00
8021q
net: proc: change proc_net_remove to remove_proc_entry
2013-02-18 14:53:08 -05:00
appletalk
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
atm
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ax25
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
batman-adv
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
bluetooth
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
bridge
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
caif
Merge branch 'master' into for-next
2013-01-29 10:48:30 +01:00
can
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ceph
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
2013-02-28 17:43:09 -08:00
core
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
dcb
net: Allow DCBnl to use other namespaces besides init_net
2012-12-10 14:09:01 -05:00
dccp
Driver core patches for 3.9-rc1
2013-02-21 12:05:51 -08:00
decnet
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
dns_resolver
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
2012-12-16 15:40:50 -08:00
dsa
dsa: make dsa_switch_setup check for valid port names
2013-01-21 15:40:12 -05:00
ethernet
net: split eth_mac_addr for better error handling
2013-01-21 14:07:44 -05:00
ieee802154
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ipv4
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ipv6
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ipx
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
irda
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2013-02-21 17:40:58 -08:00
iucv
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
key
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
l2tp
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
lapb
net/lapb: remove depends on CONFIG_EXPERIMENTAL
2013-01-11 11:40:01 -08:00
llc
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
mac80211
mac80211: fix station entry leak/warning while suspending
2013-04-17 11:40:39 +02:00
mac802154
Driver core patches for 3.9-rc1
2013-02-21 12:05:51 -08:00
netfilter
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
netlabel
netlink
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
netrom
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
nfc
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
openvswitch
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
packet
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
phonet
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
rds
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
rfkill
net: rfkill: Fix sparse warning in rfkill-regulator.c
2013-03-06 16:35:41 +01:00
rose
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
rxrpc
Driver core patches for 3.9-rc1
2013-02-21 12:05:51 -08:00
sched
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
sctp
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
sunrpc
NFS client bugfixes for Linux 3.9
2013-03-02 16:46:07 -08:00
tipc
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
unix
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
vmw_vsock
VSOCK: Don't reject PF_VSOCK protocol
2013-02-18 15:02:51 -05:00
wimax
wireless
cfg80211: add ieee80211_operating_class_to_band
2013-04-16 15:29:43 +02:00
x25
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
xfrm
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
compat.c
Kconfig
Driver core patches for 3.9-rc1
2013-02-21 12:05:51 -08:00
Makefile
VSOCK: Introduce VM Sockets
2013-02-10 19:41:08 -05:00
nonet.c
socket.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
sysctl_net.c
user_ns: get rid of duplicate code in net_ctl_permissions
2012-11-18 20:32:45 -05:00