Improves tx throughput when connecting to some APs (e.g. Asus RT-AC88U) Signed-off-by: Felix Fietkau <nbd@nbd.name>
		
			
				
	
	
		
			27 lines
		
	
	
		
			958 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			958 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From: Felix Fietkau <nbd@nbd.name>
 | |
| Date: Wed, 16 Sep 2020 18:43:46 +0200
 | |
| Subject: [PATCH] mac80211: allow bigger A-MSDU sizes in VHT, even if HT is
 | |
|  limited
 | |
| 
 | |
| Some APs (e.g. Asus RT-AC88U) have been observed to report an HT MSDU size
 | |
| limit of 3839 and a VHT limit of 7991. These APs can handle bigger frames
 | |
| than 3839 bytes just fine, so we should remove the VHT limit based on the
 | |
| HT capabilities. This improves tx throughput.
 | |
| 
 | |
| Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | |
| ---
 | |
| 
 | |
| --- a/net/mac80211/vht.c
 | |
| +++ b/net/mac80211/vht.c
 | |
| @@ -315,10 +315,6 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
 | |
|  
 | |
|  	sta->sta.bandwidth = ieee80211_sta_cur_vht_bw(sta);
 | |
|  
 | |
| -	/* If HT IE reported 3839 bytes only, stay with that size. */
 | |
| -	if (sta->sta.max_amsdu_len == IEEE80211_MAX_MPDU_LEN_HT_3839)
 | |
| -		return;
 | |
| -
 | |
|  	switch (vht_cap->cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK) {
 | |
|  	case IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454:
 | |
|  		sta->sta.max_amsdu_len = IEEE80211_MAX_MPDU_LEN_VHT_11454;
 |