diff options
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index b8cf2821f00..fda97bb0018 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -305,6 +305,9 @@ void ieee80211_restart_hw(struct ieee80211_hw *hw) | |||
305 | 305 | ||
306 | trace_api_restart_hw(local); | 306 | trace_api_restart_hw(local); |
307 | 307 | ||
308 | /* wait for scan work complete */ | ||
309 | flush_workqueue(local->workqueue); | ||
310 | |||
308 | WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), | 311 | WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), |
309 | "%s called with hardware scan in progress\n", __func__); | 312 | "%s called with hardware scan in progress\n", __func__); |
310 | 313 | ||
@@ -456,6 +459,21 @@ ieee80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = { | |||
456 | BIT(IEEE80211_STYPE_DEAUTH >> 4) | | 459 | BIT(IEEE80211_STYPE_DEAUTH >> 4) | |
457 | BIT(IEEE80211_STYPE_ACTION >> 4), | 460 | BIT(IEEE80211_STYPE_ACTION >> 4), |
458 | }, | 461 | }, |
462 | [NL80211_IFTYPE_P2P_CLIENT] = { | ||
463 | .tx = 0xffff, | ||
464 | .rx = BIT(IEEE80211_STYPE_ACTION >> 4) | | ||
465 | BIT(IEEE80211_STYPE_PROBE_REQ >> 4), | ||
466 | }, | ||
467 | [NL80211_IFTYPE_P2P_GO] = { | ||
468 | .tx = 0xffff, | ||
469 | .rx = BIT(IEEE80211_STYPE_ASSOC_REQ >> 4) | | ||
470 | BIT(IEEE80211_STYPE_REASSOC_REQ >> 4) | | ||
471 | BIT(IEEE80211_STYPE_PROBE_REQ >> 4) | | ||
472 | BIT(IEEE80211_STYPE_DISASSOC >> 4) | | ||
473 | BIT(IEEE80211_STYPE_AUTH >> 4) | | ||
474 | BIT(IEEE80211_STYPE_DEAUTH >> 4) | | ||
475 | BIT(IEEE80211_STYPE_ACTION >> 4), | ||
476 | }, | ||
459 | }; | 477 | }; |
460 | 478 | ||
461 | struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, | 479 | struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, |