diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/cfg.c | 11 | ||||
-rw-r--r-- | net/mac80211/main.c | 4 |
2 files changed, 13 insertions, 2 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 5739bfbf2999..5eab1325a0f6 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -1855,7 +1855,16 @@ static int ieee80211_scan(struct wiphy *wiphy, | |||
1855 | * beaconing hasn't been configured yet | 1855 | * beaconing hasn't been configured yet |
1856 | */ | 1856 | */ |
1857 | case NL80211_IFTYPE_AP: | 1857 | case NL80211_IFTYPE_AP: |
1858 | if (sdata->u.ap.beacon) | 1858 | /* |
1859 | * If the scan has been forced (and the driver supports | ||
1860 | * forcing), don't care about being beaconing already. | ||
1861 | * This will create problems to the attached stations (e.g. all | ||
1862 | * the frames sent while scanning on other channel will be | ||
1863 | * lost) | ||
1864 | */ | ||
1865 | if (sdata->u.ap.beacon && | ||
1866 | (!(wiphy->features & NL80211_FEATURE_AP_SCAN) || | ||
1867 | !(req->flags & NL80211_SCAN_FLAG_AP))) | ||
1859 | return -EOPNOTSUPP; | 1868 | return -EOPNOTSUPP; |
1860 | break; | 1869 | break; |
1861 | default: | 1870 | default: |
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index ba5a23249771..c42094be2f0b 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -603,7 +603,9 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, | |||
603 | NL80211_FEATURE_HT_IBSS; | 603 | NL80211_FEATURE_HT_IBSS; |
604 | 604 | ||
605 | if (!ops->hw_scan) | 605 | if (!ops->hw_scan) |
606 | wiphy->features |= NL80211_FEATURE_LOW_PRIORITY_SCAN; | 606 | wiphy->features |= NL80211_FEATURE_LOW_PRIORITY_SCAN | |
607 | NL80211_FEATURE_AP_SCAN; | ||
608 | |||
607 | 609 | ||
608 | if (!ops->set_key) | 610 | if (!ops->set_key) |
609 | wiphy->flags |= WIPHY_FLAG_IBSS_RSN; | 611 | wiphy->flags |= WIPHY_FLAG_IBSS_RSN; |