|
@@ -753,12 +753,16 @@ static void ieee80211_csa_connection_drop_work(struct work_struct *work)
|
|
|
container_of(work, struct ieee80211_sub_if_data,
|
|
|
u.ibss.csa_connection_drop_work);
|
|
|
|
|
|
+ sdata_lock(sdata);
|
|
|
+
|
|
|
ieee80211_ibss_disconnect(sdata);
|
|
|
synchronize_rcu();
|
|
|
skb_queue_purge(&sdata->skb_queue);
|
|
|
|
|
|
/* trigger a scan to find another IBSS network to join */
|
|
|
ieee80211_queue_work(&sdata->local->hw, &sdata->work);
|
|
|
+
|
|
|
+ sdata_unlock(sdata);
|
|
|
}
|
|
|
|
|
|
static void ieee80211_ibss_csa_mark_radar(struct ieee80211_sub_if_data *sdata)
|