linux/drivers/net/wireless/iwlwifi
Emmanuel Grumbach 3d29dd9b5b iwlwifi: don't mess up QoS counters with non-QoS frames
In my AMPDU rework, I rely on the sequence numbers of frames. But
I didn't check that the frame has a valid tid before updating the
tracking counters. As a result, the Tx queues were stalled. People
who hit this bug saw that we simply didn't let any data out.

This bug was introduced in 3.3.

This patch fixes that and checks that the frame is a QoS frame before
looking at its tid and changing the counters.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-02-01 15:26:00 -05:00
..
iwl-1000.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-2000.c iwlwifi: Add official names for new devices 2011-12-16 07:22:23 -08:00
iwl-5000.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-6000.c iwlwifi: Add official names for new devices 2011-12-16 07:22:23 -08:00
iwl-agn-calib.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-calib.h iwlwifi: move calib_results list from iwl_priv to iwl_trans 2011-12-08 15:55:24 -08:00
iwl-agn-hw.h iwlagn: remove 6000 hw header 2011-10-14 14:48:13 -04:00
iwl-agn-lib.c iwlwifi: remove most of the iwl_priv references from iwl-ucode.c 2011-12-16 07:23:53 -08:00
iwl-agn-rs.c iwlwifi: tid_data moves to iwl_priv 2011-12-16 07:23:20 -08:00
iwl-agn-rs.h iwlagn: use IWL_MAX_TID_COUNT instead of TID_MAX_LOAD_COUNT 2011-12-08 15:55:52 -08:00
iwl-agn-rx.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-rxon.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-sta.c iwlagn: remove iwlagn_build_addsta_hcmd 2011-12-16 07:24:09 -08:00
iwl-agn-tt.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-tt.h iwlagn: clean up of transport layer 2011-09-14 13:56:37 -04:00
iwl-agn-tx.c iwlwifi: don't mess up QoS counters with non-QoS frames 2012-02-01 15:26:00 -05:00
iwl-agn.c iwlwifi: Execute runtime calibration always 2011-12-19 13:33:57 -08:00
iwl-agn.h iwlwifi: remove most of the iwl_priv references from iwl-ucode.c 2011-12-16 07:23:53 -08:00
iwl-bus.h iwlwifi: deliver hw version in both string and u32 format 2011-12-19 13:33:39 -08:00
iwl-cfg.h iwlwifi: remove un-supported SKUs 2011-11-11 12:32:53 -05:00
iwl-commands.h iwlwifi: don't mess up QoS counters with non-QoS frames 2012-02-01 15:26:00 -05:00
iwl-core.c iwlwifi: deliver hw version in both string and u32 format 2011-12-19 13:33:39 -08:00
iwl-core.h iwlwifi: remove unused AMPDU factor/density configuration 2011-12-16 07:23:58 -08:00
iwl-csr.h iwlwifi: HW rev for 105 and 135 series 2011-11-08 15:53:54 -05:00
iwl-debug.h iwlagn: make debug levels more readable 2011-12-06 16:07:05 -05:00
iwl-debugfs.c iwlwifi: tid_data moves to iwl_priv 2011-12-16 07:23:20 -08:00
iwl-dev.h iwlwifi: tid_data moves to iwl_priv 2011-12-16 07:23:20 -08:00
iwl-devtrace.c iwlagn: remove unnecessary type for tracing operations 2011-11-08 15:53:54 -05:00
iwl-devtrace.h iwlagn: add IRQ tracing 2011-12-19 13:17:44 -08:00
iwl-eeprom.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-eeprom.h iwlwifi: move eeprom pointer from iwl_priv to iwl_shared 2011-12-08 15:55:08 -08:00
iwl-fh.h iwlagn: add missing includes 2011-08-29 15:30:28 -04:00
iwl-io.c iwlwifi: add IO function for continuous write of target memory 2011-12-16 07:24:03 -08:00
iwl-io.h iwlwifi: add IO function for continuous write of target memory 2011-12-16 07:24:03 -08:00
iwl-led.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-led.h iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-mac80211.c iwlwifi: set hw_version in wiphy 2011-12-19 13:33:46 -08:00
iwl-pci.c iwlwifi: deliver hw version in both string and u32 format 2011-12-19 13:33:39 -08:00
iwl-power.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-power.h
iwl-prph.h
iwl-scan.c wireless: iwlwifi: iwl-scan.c: Fix build warning 2012-01-16 15:01:16 -05:00
iwl-shared.h iwlwifi: Execute runtime calibration always 2011-12-19 13:33:57 -08:00
iwl-testmode.c iwlwifi: use bus_get_hw_id for IWL_TM_CMD_APP2DEV_GET_DEVICE_ID 2011-12-19 13:33:52 -08:00
iwl-testmode.h iwlwifi: add device ID information support by testmode 2011-12-08 15:54:40 -08:00
iwl-trans-pcie-int.h iwlagn: fix (remove) use of PAGE_SIZE 2011-12-21 15:06:10 -05:00
iwl-trans-pcie-rx.c iwlwifi: fix PCI-E transport "inta" race 2012-01-24 14:47:10 -05:00
iwl-trans-pcie-tx.c iwlwifi: add debug in Tx path in AGG flow 2011-12-16 07:23:30 -08:00
iwl-trans-pcie.c iwlwifi: don't mess up QoS counters with non-QoS frames 2012-02-01 15:26:00 -05:00
iwl-trans.c iwlagn: generically provide iwl_trans_send_cmd_pdu 2011-09-19 16:08:07 -04:00
iwl-trans.h iwlwifi: tid_data logic move to upper layer - seq_number 2011-12-16 07:23:10 -08:00
iwl-ucode.c iwlwifi: remove most of the iwl_priv references from iwl-ucode.c 2011-12-16 07:23:53 -08:00
iwl-wifi.h iwlwifi: remove most of the iwl_priv references from iwl-ucode.c 2011-12-16 07:23:53 -08:00
Kconfig iwlwifi: P2P is not enabled by default 2011-12-08 15:54:46 -08:00
Makefile iwlwifi: rename CONFIG_IWLWIFI_DEVICE_SVTOOL to CONFIG_IWLWIFI_DEVICE_TESTMODE 2011-12-08 15:54:30 -08:00