|
@@ -5129,16 +5129,25 @@ int ath10k_mac_register(struct ath10k *ar)
|
|
|
*/
|
|
|
ar->hw->queues = 4;
|
|
|
|
|
|
- if (test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features)) {
|
|
|
- ar->hw->wiphy->iface_combinations = ath10k_10x_if_comb;
|
|
|
- ar->hw->wiphy->n_iface_combinations =
|
|
|
- ARRAY_SIZE(ath10k_10x_if_comb);
|
|
|
- } else {
|
|
|
+ switch (ar->wmi.op_version) {
|
|
|
+ case ATH10K_FW_WMI_OP_VERSION_MAIN:
|
|
|
+ case ATH10K_FW_WMI_OP_VERSION_TLV:
|
|
|
ar->hw->wiphy->iface_combinations = ath10k_if_comb;
|
|
|
ar->hw->wiphy->n_iface_combinations =
|
|
|
ARRAY_SIZE(ath10k_if_comb);
|
|
|
-
|
|
|
ar->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC);
|
|
|
+ break;
|
|
|
+ case ATH10K_FW_WMI_OP_VERSION_10_1:
|
|
|
+ case ATH10K_FW_WMI_OP_VERSION_10_2:
|
|
|
+ ar->hw->wiphy->iface_combinations = ath10k_10x_if_comb;
|
|
|
+ ar->hw->wiphy->n_iface_combinations =
|
|
|
+ ARRAY_SIZE(ath10k_10x_if_comb);
|
|
|
+ break;
|
|
|
+ case ATH10K_FW_WMI_OP_VERSION_UNSET:
|
|
|
+ case ATH10K_FW_WMI_OP_VERSION_MAX:
|
|
|
+ WARN_ON(1);
|
|
|
+ ret = -EINVAL;
|
|
|
+ goto err_free;
|
|
|
}
|
|
|
|
|
|
ar->hw->netdev_features = NETIF_F_HW_CSUM;
|