linux/drivers/net/wireless/intel/iwlwifi
Emmanuel Grumbach 5c08b0f502 iwlwifi: mvm: don't override the rate with the AMSDU len
The TSO code creates A-MSDUs from a single large send. Each
A-MSDU is an skb and skb->len doesn't include the number of
bytes which need to be added for the headers being added
(subframe header, TCP header, IP header, SNAP, padding).

To be able to set the right value in the Tx command, we
put the number of bytes added by those headers in
driver_data in iwl_mvm_tx_tso and use this value in
iwl_mvm_set_tx_cmd.

The problem by setting this value in driver_data is that
it overrides the ieee80211_tx_info. The bug manifested
itself when we send P2P related frames in CCK since the
rate in ieee80211_tx_info is zero-ed. This of course is
a violation of the P2P specification.

To fix this, copy the original ieee80211_tx_info to the
stack and pass it to the functions which need it.
Assign the number of bytes added by the headers to the
driver_data inside the skb itself.

Fixes: a6d5e32f24 ("iwlwifi: mvm: send large SKBs to the transport")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2016-05-04 20:59:55 +03:00
..
dvm * update GSCAN capabilities (Ayala) 2016-03-10 14:53:35 +02:00
mvm iwlwifi: mvm: don't override the rate with the AMSDU len 2016-05-04 20:59:55 +03:00
pcie iwlwifi: add device IDs for the 8265 device 2016-04-12 10:03:16 +03:00
iwl-1000.c
iwl-2000.c
iwl-5000.c
iwl-6000.c
iwl-7000.c iwlwifi: mvm: bump firmware API to 21 2016-02-27 21:59:55 +02:00
iwl-8000.c iwlwifi: 8000: fix MODULE_FIRMWARE input 2016-04-12 11:52:29 +03:00
iwl-9000.c iwlwifi: add support for getting HW address from CSR 2016-03-09 20:59:19 +02:00
iwl-agn-hw.h
iwl-config.h iwlwifi: add support for getting HW address from CSR 2016-03-09 20:59:19 +02:00
iwl-csr.h iwlwifi: add support for getting HW address from CSR 2016-03-09 20:59:19 +02:00
iwl-debug.c
iwl-debug.h
iwl-devtrace-data.h iwlwifi: pcie: build an A-MSDU using TSO core 2015-12-20 23:27:37 +02:00
iwl-devtrace-io.h
iwl-devtrace-iwlwifi.h iwlwifi: mvm: adapt the firmware assert log to new firmware 2016-03-09 21:05:16 +02:00
iwl-devtrace-msg.h
iwl-devtrace-ucode.h
iwl-devtrace.c
iwl-devtrace.h
iwl-drv.c iwlwifi: 8000: fix MODULE_FIRMWARE input 2016-04-12 11:52:29 +03:00
iwl-drv.h
iwl-eeprom-parse.c iwlwifi: fix printf specifier 2015-12-21 10:12:08 +02:00
iwl-eeprom-parse.h
iwl-eeprom-read.c
iwl-eeprom-read.h
iwl-fh.h iwlwifi: pcie: fine tune number of rxbs 2016-03-09 20:59:19 +02:00
iwl-fw-error-dump.h iwlwifi: mvm: add trigger for firmware dump upon TX response status 2016-02-01 16:40:19 +02:00
iwl-fw-file.h iwlwifi: mvm: update GSCAN capabilities 2016-03-09 21:05:17 +02:00
iwl-fw.h iwlwifi: mvm: update GSCAN capabilities 2016-03-09 21:05:17 +02:00
iwl-io.c iwlwifi: remove unused parameter from grab_nic_access 2015-12-21 10:11:39 +02:00
iwl-io.h
iwl-modparams.h iwlwifi: add disable_11ac module param 2016-03-02 08:59:47 +02:00
iwl-notif-wait.c
iwl-notif-wait.h
iwl-nvm-parse.c iwlwifi: add support for getting HW address from CSR 2016-03-09 20:59:19 +02:00
iwl-nvm-parse.h iwlwifi: refactor the code that reads the MAC address from the NVM 2016-03-07 13:33:00 +02:00
iwl-op-mode.h
iwl-phy-db.c
iwl-phy-db.h
iwl-prph.h iwlwifi: pcie: Add new configuration to enable MSIX 2016-02-27 21:59:57 +02:00
iwl-scd.h
iwl-trans.c
iwl-trans.h iwlwifi: pcie: add pm_prepare and pm_complete ops 2016-02-27 22:00:07 +02:00
Kconfig Merge tag 'iwlwifi-for-kalle-2016-02-15' into HEAD 2016-02-27 21:59:52 +02:00
Makefile