diff options
Diffstat (limited to 'net/mac80211/ieee80211.c')
-rw-r--r-- | net/mac80211/ieee80211.c | 13 |
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 | ||
378 | static 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 | |||
378 | static int ieee80211_open(struct net_device *dev) | 390 | static 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; |