Skip to contentSkip to conversation

Patch "iwlwifi: mvm: support BAR in reorder buffer" has been added to the 4.8-stable tree

PATCH [email protected] 1 participant 1 message Oct 29, 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: support BAR in reorder buffer

to the 4.8-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-support-bar-in-reorder-buffer.patch
and it can be found in the queue-4.8 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 9a73a7d24d51eaf9e43c771c53cf7b594e5b5334 Mon Sep 17 00:00:00 2001

From: Sara Sharon <[email protected]>
Date: Mon, 8 Aug 2016 13:07:01 +0300
Subject: iwlwifi: mvm: support BAR in reorder buffer

From: Sara Sharon <[email protected]>

commit 9a73a7d24d51eaf9e43c771c53cf7b594e5b5334 upstream.

On default queue we will not receive frame release notification, but the BAR itself.
Upon receiving the BAR driver should look at the NSSN and adjust window accordingly.

Fixes b915c10174fb ("iwlwifi: mvm: add reorder buffer per queue")
---
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +9 -3
@@ -598,9 +598,10 @@ static bool iwl_mvm_reorder(struct iwl_m
 
 	mvm_sta = iwl_mvm_sta_from_mac80211(sta);
 
-	/* not a data packet */
-	if (!ieee80211_is_data_qos(hdr->frame_control) ||
-	    is_multicast_ether_addr(hdr->addr1))
+	/* not a data packet or a bar */
+	if (!ieee80211_is_back_req(hdr->frame_control) &&
+	    (!ieee80211_is_data_qos(hdr->frame_control) ||
+	     is_multicast_ether_addr(hdr->addr1)))
 		return false;
 
 	if (unlikely(!ieee80211_is_data_present(hdr->frame_control)))
@@ -624,6 +625,11 @@ static bool iwl_mvm_reorder(struct iwl_m
 
 	spin_lock_bh(&buffer->lock);
 
+	if (ieee80211_is_back_req(hdr->frame_control)) {
+		iwl_mvm_release_frames(mvm, sta, napi, buffer, nssn);
+		goto drop;
+	}
+
 	/*
 	 * If there was a significant jump in the nssn - adjust.
 	 * If the SN is smaller than the NSSN it might need to first go into

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

queue-4.8/iwlwifi-mvm-support-bar-in-reorder-buffer.patch queue-4.8/iwlwifi-mvm-disable-p2p-queue-on-mac-context-release.patch queue-4.8/iwlwifi-mvm-call-a-different-txq_enable-function.patch