ath10k: use wmi op version to check which iface combination to use
authorKalle Valo <kvalo@qca.qualcomm.com>
Wed, 17 Dec 2014 10:20:54 +0000 (12:20 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 23 Dec 2014 15:17:56 +0000 (17:17 +0200)
ATH10K_FW_FEATURE_WMI_10X should not be used for anymore as that's
now deprecated, instead use wmi op version.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/mac.c

index 42f6a4ddeb5eb867293c39863c95911d082bb566..780c63bad8078782338da9b7f586c62f01842c60 100644 (file)
@@ -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;