projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5bbe754
)
mac80211: always unblock CSA queue stop when disconnecting
author
Johannes Berg
<
[email protected]
>
Wed, 13 Feb 2013 13:21:45 +0000
(14:21 +0100)
committer
Johannes Berg
<
[email protected]
>
Fri, 15 Feb 2013 08:41:11 +0000
(09:41 +0100)
In some cases when disconnecting after (or during?) CSA
the queues might not recover, and then the only way to
recover is reloading the module.
Fix this by always unblocking the queue CSA reason when
disconnecting.
Cc:
[email protected]
Reported-by: Jan-Michael Brummer <
[email protected]
>
Signed-off-by: Johannes Berg <
[email protected]
>
net/mac80211/mlme.c
patch
|
blob
|
history
diff --git
a/net/mac80211/mlme.c
b/net/mac80211/mlme.c
index a7fb276d87cbcbbd1d19bc3dfb33511689f2a2a4..99be3b61a225621ebeae53acbf132de00db18bea 100644
(file)
--- a/
net/mac80211/mlme.c
+++ b/
net/mac80211/mlme.c
@@
-1819,6
+1819,8
@@
static void __ieee80211_disconnect(struct ieee80211_sub_if_data *sdata)
WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY,
true, frame_buf);
ifmgd->flags &= ~IEEE80211_STA_CSA_RECEIVED;
+ ieee80211_wake_queues_by_reason(&sdata->local->hw,
+ IEEE80211_QUEUE_STOP_REASON_CSA);
mutex_unlock(&ifmgd->mtx);
/*
@@
-1859,8
+1861,6
@@
static void ieee80211_csa_connection_drop_work(struct work_struct *work)
container_of(work, struct ieee80211_sub_if_data,
u.mgd.csa_connection_drop_work);
- ieee80211_wake_queues_by_reason(&sdata->local->hw,
- IEEE80211_QUEUE_STOP_REASON_CSA);
__ieee80211_disconnect(sdata);
}