diff options
author | Yogesh Ashok Powar <yogeshp@marvell.com> | 2012-11-06 13:52:16 (GMT) |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-11-14 19:56:07 (GMT) |
commit | 5d377fcaf48cc38882bb92c3b4a0cfcfb250087b (patch) | |
tree | ec0b84c774141b806946ae8bdab89f4134624eea /drivers/net/wireless/mwl8k.c | |
parent | 601216e12c65e131453941962f2a8f6e49a2a379 (diff) | |
download | linux-5d377fcaf48cc38882bb92c3b4a0cfcfb250087b.tar.xz |
mwl8k: defining interface combinations
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>
Diffstat (limited to 'drivers/net/wireless/mwl8k.c')
-rw-r--r-- | drivers/net/wireless/mwl8k.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c index 5099e53..cb5594d 100644 --- a/drivers/net/wireless/mwl8k.c +++ b/drivers/net/wireless/mwl8k.c @@ -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); |