iwlwifi: mvm: check family instead of new TX API for workarounds
authorJohannes Berg <johannes.berg@intel.com>
Thu, 8 Jun 2017 07:42:28 +0000 (09:42 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Tue, 1 Aug 2017 09:41:44 +0000 (12:41 +0300)
There are two workarounds because RSS is currently broken on A000
devices due to firmware issues, but checking for the new TX API
doesn't really make sense. Check the hardware family instead of
the new TX API - there's nothing better to check since it's just
a temporary workaround.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/fw.c
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

index 58f846610e5d4fc682b94ea38deb79139c7bf3bc..e04bf2f7c1ba93a39434ed9ab838ee761969759b 100644 (file)
@@ -1118,7 +1118,8 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
 
        /* Init RSS configuration */
        /* TODO - remove a000 disablement when we have RXQ config API */
-       if (iwl_mvm_has_new_rx_api(mvm) && !iwl_mvm_has_new_tx_api(mvm)) {
+       if (iwl_mvm_has_new_rx_api(mvm) &&
+           mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_A000) {
                ret = iwl_send_rss_cfg_cmd(mvm);
                if (ret) {
                        IWL_ERR(mvm, "Failed to configure RSS queues: %d\n",
index ab6c6bf795653ce94af6f486d22ee6603947f954..44f144c5872093fff11bc95a121c1304d72d47b3 100644 (file)
@@ -4280,7 +4280,8 @@ void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm,
        lockdep_assert_held(&mvm->mutex);
 
        /* TODO - remove a000 disablement when we have RXQ config API */
-       if (!iwl_mvm_has_new_rx_api(mvm) || iwl_mvm_has_new_tx_api(mvm))
+       if (!iwl_mvm_has_new_rx_api(mvm) ||
+           mvm->trans->cfg->device_family == IWL_DEVICE_FAMILY_A000)
                return;
 
        notif->cookie = mvm->queue_sync_cookie;