|
@@ -541,6 +541,9 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
|
|
|
|
|
|
ieee80211_adjust_monitor_flags(sdata, 1);
|
|
|
ieee80211_configure_filter(local);
|
|
|
+ mutex_lock(&local->mtx);
|
|
|
+ ieee80211_recalc_idle(local);
|
|
|
+ mutex_unlock(&local->mtx);
|
|
|
|
|
|
netif_carrier_on(dev);
|
|
|
break;
|
|
@@ -812,6 +815,9 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
|
|
|
|
|
|
ieee80211_adjust_monitor_flags(sdata, -1);
|
|
|
ieee80211_configure_filter(local);
|
|
|
+ mutex_lock(&local->mtx);
|
|
|
+ ieee80211_recalc_idle(local);
|
|
|
+ mutex_unlock(&local->mtx);
|
|
|
break;
|
|
|
case NL80211_IFTYPE_P2P_DEVICE:
|
|
|
/* relies on synchronize_rcu() below */
|