mac80211: Allow scan to be requested in AP mode
authorJouni Malinen <jouni.malinen@atheros.com>
Thu, 16 Apr 2009 15:44:53 +0000 (18:44 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 22 Apr 2009 20:57:16 +0000 (16:57 -0400)
We can allow scan requests in AP mode as long as the interface has not
yet been configured to send out Beacon frames (or if beaconing has
been disabled prior to the scan request). This makes it easier to scan
for neighboring BSSes during AP initialization and makes it possible
to run a scan without setting the interface down, if needed. Without
this change, the only available option would be to set the interface
down, move into station mode, and set the interface up, prior to
requesting the scan.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/cfg.c

index e677b75..520efa8 100644 (file)
@@ -1167,7 +1167,8 @@ static int ieee80211_scan(struct wiphy *wiphy,
 
        if (sdata->vif.type != NL80211_IFTYPE_STATION &&
            sdata->vif.type != NL80211_IFTYPE_ADHOC &&
-           sdata->vif.type != NL80211_IFTYPE_MESH_POINT)
+           sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
+           (sdata->vif.type != NL80211_IFTYPE_AP || sdata->u.ap.beacon))
                return -EOPNOTSUPP;
 
        return ieee80211_request_scan(sdata, req);