iwlwifi: mvm: fix inactive TID removal return value usage
authorJohannes Berg <johannes.berg@intel.com>
Fri, 17 Apr 2020 07:08:14 +0000 (10:08 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 21 Apr 2020 12:39:05 +0000 (15:39 +0300)
The function iwl_mvm_remove_inactive_tids() returns bool, so we
should just check "if (ret)", not "if (ret >= 0)" (which would
do nothing useful here). We obviously therefore cannot use the
return value of the function for the free_queue, we need to use
the queue (i) we're currently dealing with instead.

Cc: stable@vger.kernel.org # v5.4+
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20200417100405.9d862ed72535.I9e27ccc3ee3c8855fc13682592b571581925dfbd@changeid
drivers/net/wireless/intel/iwlwifi/mvm/sta.c

index 251d6fbb1da578e3d89f56b87b303baa1dc6be9c..56ae72debb96a0e510da48d0a127b473f1aaab4b 100644 (file)
@@ -1169,9 +1169,9 @@ static int iwl_mvm_inactivity_check(struct iwl_mvm *mvm, u8 alloc_for_sta)
                                                   inactive_tid_bitmap,
                                                   &unshare_queues,
                                                   &changetid_queues);
-               if (ret >= 0 && free_queue < 0) {
+               if (ret && free_queue < 0) {
                        queue_owner = sta;
-                       free_queue = ret;
+                       free_queue = i;
                }
                /* only unlock sta lock - we still need the queue info lock */
                spin_unlock_bh(&mvmsta->lock);