mac80211: fix start_seq_num in Rx reorder offload
sta->last_seq_ctrl is the seq_ctrl field from the last header seen, need to shift it 4 bits to extract the sequence number. Otherwise the ieee80211_sn_less() check at the top of ieee80211_sta_manage_reorder_buf drops frames until the sequence number catches up. Cc: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Denton Gentry <denton.gentry@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
		
					parent
					
						
							
								6c6fa49649
							
						
					
				
			
			
				commit
				
					
						c7dcb45fac
					
				
			
		
					 1 changed files with 2 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -1175,8 +1175,8 @@ static void ieee80211_iface_work(struct work_struct *work)
 | 
			
		|||
			if (sta) {
 | 
			
		||||
				u16 last_seq;
 | 
			
		||||
 | 
			
		||||
				last_seq = le16_to_cpu(
 | 
			
		||||
					sta->last_seq_ctrl[rx_agg->tid]);
 | 
			
		||||
				last_seq = IEEE80211_SEQ_TO_SN(le16_to_cpu(
 | 
			
		||||
					sta->last_seq_ctrl[rx_agg->tid]));
 | 
			
		||||
 | 
			
		||||
				__ieee80211_start_rx_ba_session(sta,
 | 
			
		||||
						0, 0,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue