mwl8k: defining interface combinations
authorYogesh Ashok Powar <yogeshp@marvell.com>
Tue, 6 Nov 2012 13:52:16 +0000 (19:22 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 14 Nov 2012 19:56:07 +0000 (14:56 -0500)
AP mode support upto 8 interfaces.
Defining it using iface_combinations

Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwl8k.c

index 5099e53..cb5594d 100644 (file)
@@ -5617,6 +5617,18 @@ fail:
        return rc;
 }
 
+static const struct ieee80211_iface_limit ap_if_limits[] = {
+       { .max = 8,     .types = BIT(NL80211_IFTYPE_AP) },
+};
+
+static const struct ieee80211_iface_combination ap_if_comb = {
+       .limits = ap_if_limits,
+       .n_limits = ARRAY_SIZE(ap_if_limits),
+       .max_interfaces = 8,
+       .num_different_channels = 1,
+};
+
+
 static int mwl8k_firmware_load_success(struct mwl8k_priv *priv)
 {
        struct ieee80211_hw *hw = priv->hw;
@@ -5696,8 +5708,13 @@ static int mwl8k_firmware_load_success(struct mwl8k_priv *priv)
                goto err_free_cookie;
 
        hw->wiphy->interface_modes = 0;
-       if (priv->ap_macids_supported || priv->device_info->fw_image_ap)
+
+       if (priv->ap_macids_supported || priv->device_info->fw_image_ap) {
                hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_AP);
+               hw->wiphy->iface_combinations = &ap_if_comb;
+               hw->wiphy->n_iface_combinations = 1;
+       }
+
        if (priv->sta_macids_supported || priv->device_info->fw_image_sta)
                hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_STATION);