diff options
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c index 67ffd9774712..248699c2c4bf 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c @@ -277,7 +277,9 @@ static int iwl_mvm_rx_crypto(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr,  		stats->flag |= RX_FLAG_DECRYPTED;  		return 0;  	default: -		IWL_ERR(mvm, "Unhandled alg: 0x%x\n", status); +		/* Expected in monitor (not having the keys) */ +		if (!mvm->monitor_on) +			IWL_ERR(mvm, "Unhandled alg: 0x%x\n", status);  	}  	return 0; @@ -672,11 +674,12 @@ static bool iwl_mvm_reorder(struct iwl_mvm *mvm,  	 * 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  	 * the reorder buffer, in which case we just release up to it and the -	 * rest of the function will take of storing it and releasing up to the -	 * nssn +	 * rest of the function will take care of storing it and releasing up to +	 * the nssn  	 */  	if (!iwl_mvm_is_sn_less(nssn, buffer->head_sn + buffer->buf_size, -				buffer->buf_size)) { +				buffer->buf_size) || +	    !ieee80211_sn_less(sn, buffer->head_sn + buffer->buf_size)) {  		u16 min_sn = ieee80211_sn_less(sn, nssn) ? sn : nssn;  		iwl_mvm_release_frames(mvm, sta, napi, buffer, min_sn); |