linux/drivers/net/wireless/iwlwifi
Daniel Halperin ff27fabe62 iwlwifi: fix throughput degradation in aggregation mode
The following commit

	commit e4da8c37af
	Author: Johannes Berg <johannes@sipsolutions.net>
	Date:   Wed Dec 23 13:15:43 2009 +0100

	   mac80211: make off-channel work generic

triggered a bug in iwlwifi where HT parameters would not be correctly set in
some mac80211 pathways. The aggregation (and possibly other) station flags were
not being set, which limited the size of aggregation blocks and reduced
throughput at high rates.

>From Johannes:
"""
Due to Wey-Yi's patch to use the set-channel command when the channel changes
while associated, we don't get a full new RXON. Therefore, we don't re-set the
rxon-station either. However, under some circumstances that apparently have
gotten more likely mac80211 will first set up the BSS info, then add the
station and then switch to an HT channel type.

Therefore, the check for "priv->current_ht_config.is_ht" in
iwl_rxon_add_station() will hit false and not fill in the HT information.

However, that check can just be removed, which is the easiest fix for all this,
because the HT capa struct is always there, just could possibly have the
ht_supported member set to false.
"""

A sample good link in my 3x3 network improves by approximately 25% TCP
throughput. This fixes Bug 2144
(http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2144).

Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-01-25 16:36:27 -05:00
..
iwl3945-base.c iwlwifi: cleanup spectrum measurement command support 2010-01-25 16:36:26 -05:00
iwl-1000.c iwlwifi: make broadcast station addition generic 2010-01-25 16:36:22 -05:00
iwl-3945-fh.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-3945-hw.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-3945-led.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-3945-led.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-3945-rs.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-3945.c iwlwifi: make broadcast station addition generic 2010-01-25 16:36:22 -05:00
iwl-3945.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-4965-hw.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-4965.c iwlwifi: make broadcast station addition generic 2010-01-25 16:36:22 -05:00
iwl-5000-hw.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-5000.c iwlwifi: make broadcast station addition generic 2010-01-25 16:36:22 -05:00
iwl-6000-hw.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-6000.c iwlwifi: make broadcast station addition generic 2010-01-25 16:36:22 -05:00
iwl-agn-led.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-agn-led.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-agn-rs.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-agn-rs.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-agn.c iwlwifi: cleanup spectrum measurement command support 2010-01-25 16:36:26 -05:00
iwl-calib.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-calib.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-commands.h iwlwifi: module parameter to enable/disable bt co-exist 2010-01-25 16:36:23 -05:00
iwl-core.c iwlwifi: module parameter to enable/disable bt co-exist 2010-01-25 16:36:23 -05:00
iwl-core.h iwlwifi: cleanup spectrum measurement command support 2010-01-25 16:36:26 -05:00
iwl-csr.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-debug.h iwlwifi: clean up debugfs code 2010-01-25 16:36:24 -05:00
iwl-debugfs.c iwlwifi: clean up debugfs code 2010-01-25 16:36:24 -05:00
iwl-dev.h iwlwifi: cleanup spectrum measurement command support 2010-01-25 16:36:26 -05:00
iwl-devtrace.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-01-19 15:58:41 -05:00
iwl-devtrace.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-01-19 15:58:41 -05:00
iwl-eeprom.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-eeprom.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-fh.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-hcmd.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-helpers.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-io.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-led.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-led.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-power.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-power.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-prph.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-rx.c iwlwifi: cleanup spectrum measurement command support 2010-01-25 16:36:26 -05:00
iwl-scan.c iwlwifi: Logic to control how frequent radio should be reset if needed 2010-01-25 16:36:20 -05:00
iwl-spectrum.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-sta.c iwlwifi: fix throughput degradation in aggregation mode 2010-01-25 16:36:27 -05:00
iwl-sta.h iwlwifi: make broadcast station addition generic 2010-01-25 16:36:22 -05:00
iwl-tx.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
Kconfig iwlwifi: cleanup spectrum measurement command support 2010-01-25 16:36:26 -05:00
Makefile iwlwifi: cleanup spectrum measurement command support 2010-01-25 16:36:26 -05:00