--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -1796,8 +1796,6 @@ static int ieee80211_scan(struct wiphy *
- * beaconing hasn't been configured yet
+@@ -1916,7 +1916,7 @@ static int ieee80211_scan(struct wiphy *
+ * the frames sent while scanning on other channel will be
+ * lost)
*/
- case NL80211_IFTYPE_AP:
-- if (sdata->u.ap.beacon)
-- return -EOPNOTSUPP;
- break;
- default:
- return -EOPNOTSUPP;
+- if (sdata->u.ap.beacon &&
++ if (0 && sdata->u.ap.beacon &&
+ (!(wiphy->features & NL80211_FEATURE_AP_SCAN) ||
+ !(req->flags & NL80211_SCAN_FLAG_AP)))
+ return -EOPNOTSUPP;