diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-rx.c')
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-rx.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c index 6f36b6e79f5..2dbce85404a 100644 --- a/drivers/net/wireless/iwlwifi/iwl-rx.c +++ b/drivers/net/wireless/iwlwifi/iwl-rx.c @@ -928,7 +928,10 @@ static void iwl_pass_packet_to_mac80211(struct iwl_priv *priv,  	if (ieee80211_is_mgmt(fc) ||  	    ieee80211_has_protected(fc) ||  	    ieee80211_has_morefrags(fc) || -	    le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG) +	    le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG || +	    (ieee80211_is_data_qos(fc) && +	     *ieee80211_get_qos_ctl(hdr) & +	     IEEE80211_QOS_CONTROL_A_MSDU_PRESENT))  		ret = skb_linearize(skb);  	else  		ret = __pskb_pull_tail(skb, min_t(u16, IWL_LINK_HDR_MAX, len)) ?  |