Skip to contentSkip to conversation

Patch "iwlwifi: mvm: inc pending frames counter also when txing non-sta" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Mar 12, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

iwlwifi: mvm: inc pending frames counter also when txing non-sta

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
iwlwifi-mvm-inc-pending-frames-counter-also-when-txing-non-sta.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From fb896c44f88a75843a072cd6961b1615732f7811 Mon Sep 17 00:00:00 2001

From: Liad Kaufman <[email protected]>
Date: Sun, 14 Feb 2016 15:32:58 +0200
Subject: iwlwifi: mvm: inc pending frames counter also when txing non-sta

From: Liad Kaufman <[email protected]>

commit fb896c44f88a75843a072cd6961b1615732f7811 upstream.

Until this patch, when TXing non-sta the pending_frames counter wasn't increased, but it WAS decreased in iwl_mvm_rx_tx_cmd_single(), what makes it negative in certain conditions. This in turn caused much trouble when we need to remove the station since we won't be waiting forever until pending_frames gets 0. In certain cases, we were exhausting the station table even in BSS mode, because we had a lot of stale stations.

Increase the counter also in iwl_mvm_tx_skb_non_sta() after a successful TX to avoid this outcome.

---
 drivers/net/wireless/iwlwifi/mvm/tx.c |    9 +++++++++
 1 file changed, 9 insertions(+)
drivers/net/wireless/iwlwifi/mvm/tx.c +9 -0
@@ -421,6 +421,15 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mv
 		return -1;
 	}
 
+	/*
+	 * Increase the pending frames counter, so that later when a reply comes
+	 * in and the counter is decreased - we don't start getting negative
+	 * values.
+	 * Note that we don't need to make sure it isn't agg'd, since we're
+	 * TXing non-sta
+	 */
+	atomic_inc(&mvm->pending_frames[sta_id]);
+
 	return 0;
 }
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/iwlwifi-mvm-inc-pending-frames-counter-also-when-txing-non-sta.patch