diff options
author | Kalle Valo <kvalo@codeaurora.org> | 2019-07-31 14:51:55 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2019-07-31 14:51:55 +0300 |
commit | 66f5772ee29db1062d5677a26e4e0ec9c6308c16 (patch) | |
tree | 2b63a19cf416e52984a7e47cc8006a519a30c860 /drivers/net/wireless/intel/iwlwifi/mvm/tx.c | |
parent | df612421fe2566654047769c6852ffae1a31df16 (diff) | |
parent | 71b256f8f7a5c09810d2c3ed6165629c2cc0a652 (diff) | |
download | linux-stable-66f5772ee29db1062d5677a26e4e0ec9c6308c16.tar.gz linux-stable-66f5772ee29db1062d5677a26e4e0ec9c6308c16.tar.bz2 linux-stable-66f5772ee29db1062d5677a26e4e0ec9c6308c16.zip |
Merge tag 'iwlwifi-fixes-for-kvalo-2019-07-30' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes
We have a lot of fixes, most of them are also applicable to stable.
Notably:
* fix use-after-free issues
* fix DMA mapping API usage errors
* fix frame drop occurring due to reorder buffer handling in
RSS in certain conditions
* fix rate scale locking issues
* disable TX A-MSDU on older NICs as it causes problems and was
never supposed to be supported
* new PCI IDs
* GEO_TX_POWER_LIMIT API issue that many people were hitting
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/tx.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c index a3e5d88f1c07..6ac114a393cc 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@ -831,6 +831,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes, unsigned int tcp_payload_len; unsigned int mss = skb_shinfo(skb)->gso_size; bool ipv4 = (skb->protocol == htons(ETH_P_IP)); + bool qos = ieee80211_is_data_qos(hdr->frame_control); u16 ip_base_id = ipv4 ? ntohs(ip_hdr(skb)->id) : 0; skb_shinfo(skb)->gso_size = num_subframes * mss; @@ -864,7 +865,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes, if (tcp_payload_len > mss) { skb_shinfo(tmp)->gso_size = mss; } else { - if (ieee80211_is_data_qos(hdr->frame_control)) { + if (qos) { u8 *qc; if (ipv4) |