wl12xx: Enable AP-mode
authorArik Nemtsov <arik@wizery.com>
Sat, 16 Oct 2010 19:53:24 +0000 (21:53 +0200)
committerLuciano Coelho <coelho@ti.com>
Mon, 24 Jan 2011 20:11:51 +0000 (22:11 +0200)
Indicate support for the NL80211_IFTYPE_AP interface mode to enable AP
mode operation.

Disable 11a when operating in AP-mode (unsupported for now).

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Reviewed-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/boot.c
drivers/net/wireless/wl12xx/main.c

index 2b1019f..d7e036f 100644 (file)
@@ -232,7 +232,9 @@ static int wl1271_boot_upload_nvs(struct wl1271 *wl)
         */
        if (wl->nvs_len == sizeof(struct wl1271_nvs_file) ||
            wl->nvs_len == WL1271_INI_LEGACY_NVS_FILE_SIZE) {
-               if (wl->nvs->general_params.dual_mode_select)
+               /* for now 11a is unsupported in AP mode */
+               if (wl->bss_type != BSS_TYPE_AP_BSS &&
+                   wl->nvs->general_params.dual_mode_select)
                        wl->enable_11a = true;
        }
 
index 78d6155..8a35491 100644 (file)
@@ -1073,6 +1073,9 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
                wl->bss_type = BSS_TYPE_IBSS;
                wl->set_bss_type = BSS_TYPE_STA_BSS;
                break;
+       case NL80211_IFTYPE_AP:
+               wl->bss_type = BSS_TYPE_AP_BSS;
+               break;
        default:
                ret = -EOPNOTSUPP;
                goto out;
@@ -3136,7 +3139,7 @@ int wl1271_init_ieee80211(struct wl1271 *wl)
        wl->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
 
        wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
-               BIT(NL80211_IFTYPE_ADHOC);
+               BIT(NL80211_IFTYPE_ADHOC) | BIT(NL80211_IFTYPE_AP);
        wl->hw->wiphy->max_scan_ssids = 1;
        /*
         * Maximum length of elements in scanning probe request templates