aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ieee80211.c')
-rw-r--r--net/mac80211/ieee80211.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 566bdca32b86..f811a260ee9c 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -375,6 +375,18 @@ static void ieee80211_start_hard_monitor(struct ieee80211_local *local)
375 } 375 }
376} 376}
377 377
378static void ieee80211_if_open(struct net_device *dev)
379{
380 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
381
382 switch (sdata->type) {
383 case IEEE80211_IF_TYPE_STA:
384 case IEEE80211_IF_TYPE_IBSS:
385 sdata->u.sta.prev_bssid_set = 0;
386 break;
387 }
388}
389
378static int ieee80211_open(struct net_device *dev) 390static int ieee80211_open(struct net_device *dev)
379{ 391{
380 struct ieee80211_sub_if_data *sdata, *nsdata; 392 struct ieee80211_sub_if_data *sdata, *nsdata;
@@ -408,6 +420,7 @@ static int ieee80211_open(struct net_device *dev)
408 local->hw.conf.flags |= IEEE80211_CONF_RADIOTAP; 420 local->hw.conf.flags |= IEEE80211_CONF_RADIOTAP;
409 return 0; 421 return 0;
410 } 422 }
423 ieee80211_if_open(dev);
411 ieee80211_start_soft_monitor(local); 424 ieee80211_start_soft_monitor(local);
412 425
413 conf.if_id = dev->ifindex; 426 conf.if_id = dev->ifindex;