Message ID | 1386688840-12181-1-git-send-email-bartosz.markowski@tieto.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On 12/10/2013 07:20 AM, Bartosz Markowski wrote: > Split the interface limits and inteface combination, > to reflect the 10.X capabilites (no P2P, no STA and 8 VAP). My 10.X firmware works just fine with stations..I just tested up to 32 of them. Maybe add firmware IEs to explicitly advertise how many it can support instead of setting one flag and making assumptions? Thanks, Ben
Ben Greear <greearb@candelatech.com> writes: > On 12/10/2013 07:20 AM, Bartosz Markowski wrote: >> Split the interface limits and inteface combination, >> to reflect the 10.X capabilites (no P2P, no STA and 8 VAP). > > My 10.X firmware works just fine with stations..I just tested up > to 32 of them. > > Maybe add firmware IEs to explicitly advertise how many it can > support instead of setting one flag and making assumptions? That can be done in a separate patch.
Bartosz Markowski <bartosz.markowski@tieto.com> writes: > Split the interface limits and inteface combination, > to reflect the 10.X capabilites (no P2P, no STA and 8 VAP). > > Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Both patches applied. I did minor changes in patch 1, please double check: > @@ -3717,8 +3718,15 @@ int ath10k_mac_register(struct ath10k *ar) > */ > ar->hw->queues = 4; > > - ar->hw->wiphy->iface_combinations = ath10k_if_comb; > - ar->hw->wiphy->n_iface_combinations = ARRAY_SIZE(ath10k_if_comb); > + if (!test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features)) { > + > + ar->hw->wiphy->iface_combinations = ath10k_if_comb; > + ar->hw->wiphy->n_iface_combinations = ARRAY_SIZE(ath10k_if_comb); > + > + } else { > + ar->hw->wiphy->iface_combinations = ath10k_10x_if_comb; > + ar->hw->wiphy->n_iface_combinations = ARRAY_SIZE(ath10k_10x_if_comb); > + } I fixed checkpatch warnings here and reversed the test to get rid unnecessary negation operator.
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index ce9ef349..35952a4 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -3464,14 +3464,12 @@ static const struct ieee80211_iface_limit ath10k_if_limits[] = { }, }; -#ifdef CONFIG_ATH10K_DFS_CERTIFIED -static const struct ieee80211_iface_limit ath10k_if_dfs_limits[] = { +static const struct ieee80211_iface_limit ath10k_10x_if_limits[] = { { .max = 8, .types = BIT(NL80211_IFTYPE_AP) }, }; -#endif static const struct ieee80211_iface_combination ath10k_if_comb[] = { { @@ -3481,19 +3479,22 @@ static const struct ieee80211_iface_combination ath10k_if_comb[] = { .num_different_channels = 1, .beacon_int_infra_match = true, }, -#ifdef CONFIG_ATH10K_DFS_CERTIFIED +}; + +static const struct ieee80211_iface_combination ath10k_10x_if_comb[] = { { - .limits = ath10k_if_dfs_limits, - .n_limits = ARRAY_SIZE(ath10k_if_dfs_limits), + .limits = ath10k_10x_if_limits, + .n_limits = ARRAY_SIZE(ath10k_10x_if_limits), .max_interfaces = 8, .num_different_channels = 1, .beacon_int_infra_match = true, +#ifdef CONFIG_ATH10K_DFS_CERTIFIED .radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) | BIT(NL80211_CHAN_WIDTH_20) | BIT(NL80211_CHAN_WIDTH_40) | BIT(NL80211_CHAN_WIDTH_80), - } #endif + }, }; static struct ieee80211_sta_vht_cap ath10k_create_vht_cap(struct ath10k *ar) @@ -3717,8 +3718,15 @@ int ath10k_mac_register(struct ath10k *ar) */ ar->hw->queues = 4; - ar->hw->wiphy->iface_combinations = ath10k_if_comb; - ar->hw->wiphy->n_iface_combinations = ARRAY_SIZE(ath10k_if_comb); + if (!test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features)) { + + ar->hw->wiphy->iface_combinations = ath10k_if_comb; + ar->hw->wiphy->n_iface_combinations = ARRAY_SIZE(ath10k_if_comb); + + } else { + ar->hw->wiphy->iface_combinations = ath10k_10x_if_comb; + ar->hw->wiphy->n_iface_combinations = ARRAY_SIZE(ath10k_10x_if_comb); + } ar->hw->netdev_features = NETIF_F_HW_CSUM;
Split the interface limits and inteface combination, to reflect the 10.X capabilites (no P2P, no STA and 8 VAP). Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> --- drivers/net/wireless/ath/ath10k/mac.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-)