Commit d6ca18de authored by Johannes Berg's avatar Johannes Berg Committed by Emmanuel Grumbach
Browse files

iwlwifi: make U-APSD default configurable at compile time



With a significant number of deployed APs, enabling uAPSD leads to the
AP never using aggregation sessions (likely due to the complexities
involved in handling uAPSD in those.) This obviously results in a large
drop in throughput with such APs.

On the other hand, uAPSD can result in some power consumption benefits,
but for now just disable it to get performance with affected APs back
up.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 32be1a83
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -87,6 +87,16 @@ config IWLWIFI_BCAST_FILTERING
	  If unsure, don't enable this option, as some programs might
	  expect incoming broadcasts for their normal operations.

config IWLWIFI_UAPSD
	bool "enable U-APSD by default"
	depends on IWLMVM
	help
	  Say Y here to enable U-APSD by default. This may cause
	  interoperability problems with some APs, manifesting in lower than
	  expected throughput due to those APs not enabling aggregation

	  If unsure, say N.

menu "Debugging Options"

config IWLWIFI_DEBUG
+7 −1
Original line number Diff line number Diff line
@@ -1254,7 +1254,9 @@ struct iwl_mod_params iwlwifi_mod_params = {
	.bt_coex_active = true,
	.power_level = IWL_POWER_INDEX_1,
	.wd_disable = true,
	.uapsd_disable = false,
#ifndef CONFIG_IWLWIFI_UAPSD
	.uapsd_disable = true,
#endif /* CONFIG_IWLWIFI_UAPSD */
	/* the rest are 0 by default */
};
IWL_EXPORT_SYMBOL(iwlwifi_mod_params);
@@ -1370,7 +1372,11 @@ MODULE_PARM_DESC(nvm_file, "NVM file name");

module_param_named(uapsd_disable, iwlwifi_mod_params.uapsd_disable,
		   bool, S_IRUGO);
#ifdef CONFIG_IWLWIFI_UAPSD
MODULE_PARM_DESC(uapsd_disable, "disable U-APSD functionality (default: N)");
#else
MODULE_PARM_DESC(uapsd_disable, "disable U-APSD functionality (default: Y)");
#endif

/*
 * set bt_coex_active to true, uCode will do kill/defer