diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2008-07-10 23:53:31 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-07-14 14:52:58 -0400 |
commit | a326a5d096f031af46c0073dd78eb80dea1f311a (patch) | |
tree | 311fc3ee1cd88d5cef57f7cd062a8e5a164b134e /drivers/net/wireless/iwlwifi/iwl-5000.c | |
parent | 474086396276a01190974797a69a95fb14ae7cc9 (diff) |
iwlwifi: fixes RTS / CTS support
This patch fixes the RTS / CTS support in iwlwifi. 5000 will send CTS to
self when allowed by spec, 4965 will send RTS or CTS to self according to
mac80211 request.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-5000.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index 3697d0335103..b518792c7231 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -370,6 +370,16 @@ static void iwl5000_chain_noise_reset(struct iwl_priv *priv) | |||
370 | } | 370 | } |
371 | } | 371 | } |
372 | 372 | ||
373 | static void iwl5000_rts_tx_cmd_flag(struct ieee80211_tx_info *info, | ||
374 | __le32 *tx_flags) | ||
375 | { | ||
376 | if ((info->flags & IEEE80211_TX_CTL_USE_RTS_CTS) || | ||
377 | (info->flags & IEEE80211_TX_CTL_USE_CTS_PROTECT)) | ||
378 | *tx_flags |= TX_CMD_FLG_RTS_CTS_MSK; | ||
379 | else | ||
380 | *tx_flags &= ~TX_CMD_FLG_RTS_CTS_MSK; | ||
381 | } | ||
382 | |||
373 | static struct iwl_sensitivity_ranges iwl5000_sensitivity = { | 383 | static struct iwl_sensitivity_ranges iwl5000_sensitivity = { |
374 | .min_nrg_cck = 95, | 384 | .min_nrg_cck = 95, |
375 | .max_nrg_cck = 0, | 385 | .max_nrg_cck = 0, |
@@ -1437,6 +1447,7 @@ static struct iwl_hcmd_utils_ops iwl5000_hcmd_utils = { | |||
1437 | .build_addsta_hcmd = iwl5000_build_addsta_hcmd, | 1447 | .build_addsta_hcmd = iwl5000_build_addsta_hcmd, |
1438 | .gain_computation = iwl5000_gain_computation, | 1448 | .gain_computation = iwl5000_gain_computation, |
1439 | .chain_noise_reset = iwl5000_chain_noise_reset, | 1449 | .chain_noise_reset = iwl5000_chain_noise_reset, |
1450 | .rts_tx_cmd_flag = iwl5000_rts_tx_cmd_flag, | ||
1440 | }; | 1451 | }; |
1441 | 1452 | ||
1442 | static struct iwl_lib_ops iwl5000_lib = { | 1453 | static struct iwl_lib_ops iwl5000_lib = { |