iwlwifi: set TX_CMD_FLAG_PROT_REQUIRE_MSK in tx_flag
authorWey-Yi Guy <wey-yi.w.guy@intel.com>
Fri, 18 Jun 2010 18:33:17 +0000 (11:33 -0700)
committerReinette Chatre <reinette.chatre@intel.com>
Fri, 25 Jun 2010 21:34:45 +0000 (14:34 -0700)
commit062bee448bd539580ef9f64efe50fdfe04eeb103
tree76dd74bee15aa4803bb031076c12147e31bcdb14
parentd1e89f37de2845db364ef6d67586cd882f86b557
iwlwifi: set TX_CMD_FLAG_PROT_REQUIRE_MSK in tx_flag

When building tx command, always set TX_CMD_FLAG_PROT_REQUIRE_MSK
for 5000 series and up.

Without setting this bit the firmware will not examine the RTS/CTS setting
and thus not send traffic with the appropriate protection. RTS/CTS is is
required for HT traffic in a noisy environment where, without this setting,
connections will stall on some hardware as documented in the patch that
initially attempted to address this:

    commit 1152dcc28c66a74b5b3f1a3ede0aa6729bfd48e4
    Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Date:   Fri Jan 15 13:42:58 2010 -0800

    iwlwifi: Fix throughput stall issue in HT mode for 5000

    Similar to 6000 and 1000 series, RTS/CTS is the recommended
    protection mechanism for 5000 series in HT mode based on the HW design.
    Using RTS/CTS will better protect the inner exchange from interference,
    especially in highly-congested environment, it also prevent uCode encounter
    TX FIFO underrun and other HT mode related performance issues.

For 3945 and 4965, different flags are used for RTS/CTS or CTS-to-Self
protection.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c