aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/mac80211/ibss.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index e97fa7fac96e..a6ca56dfe0d7 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -753,12 +753,16 @@ static void ieee80211_csa_connection_drop_work(struct work_struct *work)
753 container_of(work, struct ieee80211_sub_if_data, 753 container_of(work, struct ieee80211_sub_if_data,
754 u.ibss.csa_connection_drop_work); 754 u.ibss.csa_connection_drop_work);
755 755
756 sdata_lock(sdata);
757
756 ieee80211_ibss_disconnect(sdata); 758 ieee80211_ibss_disconnect(sdata);
757 synchronize_rcu(); 759 synchronize_rcu();
758 skb_queue_purge(&sdata->skb_queue); 760 skb_queue_purge(&sdata->skb_queue);
759 761
760 /* trigger a scan to find another IBSS network to join */ 762 /* trigger a scan to find another IBSS network to join */
761 ieee80211_queue_work(&sdata->local->hw, &sdata->work); 763 ieee80211_queue_work(&sdata->local->hw, &sdata->work);
764
765 sdata_unlock(sdata);
762} 766}
763 767
764static void ieee80211_ibss_csa_mark_radar(struct ieee80211_sub_if_data *sdata) 768static void ieee80211_ibss_csa_mark_radar(struct ieee80211_sub_if_data *sdata)