mac80211: disable potentially harmful PS software retry for A-MPDU sessions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
		| @@ -0,0 +1,28 @@ | |||||||
|  | From: Felix Fietkau <nbd@nbd.name> | ||||||
|  | Date: Wed, 22 Feb 2017 16:13:17 +0100 | ||||||
|  | Subject: [PATCH] mac80211: don't handle filtered frames within a BA session | ||||||
|  |  | ||||||
|  | When running a BA session, the driver (or the hardware) already takes | ||||||
|  | care of retransmitting failed frames, since it has to keep the receiver | ||||||
|  | reorder window in sync. | ||||||
|  |  | ||||||
|  | Adding another layer of retransmit around that does not improve | ||||||
|  | anything. In fact, it can only lead to some strong reordering with huge | ||||||
|  | latency. | ||||||
|  |  | ||||||
|  | Cc: stable@vger.kernel.org | ||||||
|  | Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | --- a/net/mac80211/status.c | ||||||
|  | +++ b/net/mac80211/status.c | ||||||
|  | @@ -51,7 +51,8 @@ static void ieee80211_handle_filtered_fr | ||||||
|  |  	struct ieee80211_hdr *hdr = (void *)skb->data; | ||||||
|  |  	int ac; | ||||||
|  |   | ||||||
|  | -	if (info->flags & IEEE80211_TX_CTL_NO_PS_BUFFER) { | ||||||
|  | +	if (info->flags & (IEEE80211_TX_CTL_NO_PS_BUFFER | | ||||||
|  | +			   IEEE80211_TX_CTL_AMPDU)) { | ||||||
|  |  		ieee80211_free_txskb(&local->hw, skb); | ||||||
|  |  		return; | ||||||
|  |  	} | ||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau