aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl3945-base.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index b1464c71ea0a..2cd33b4e9e13 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -2395,6 +2395,7 @@ static void iwl3945_build_tx_cmd_basic(struct iwl3945_priv *priv,
2395{ 2395{
2396 __le16 fc = hdr->frame_control; 2396 __le16 fc = hdr->frame_control;
2397 __le32 tx_flags = cmd->cmd.tx.tx_flags; 2397 __le32 tx_flags = cmd->cmd.tx.tx_flags;
2398 u8 rc_flags = info->control.rates[0].flags;
2398 2399
2399 cmd->cmd.tx.stop_time.life_time = TX_CMD_LIFE_TIME_INFINITE; 2400 cmd->cmd.tx.stop_time.life_time = TX_CMD_LIFE_TIME_INFINITE;
2400 if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) { 2401 if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) {
@@ -2421,10 +2422,10 @@ static void iwl3945_build_tx_cmd_basic(struct iwl3945_priv *priv,
2421 tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK; 2422 tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK;
2422 } 2423 }
2423 2424
2424 if (info->flags & IEEE80211_TX_CTL_USE_RTS_CTS) { 2425 if (rc_flags & IEEE80211_TX_RC_USE_RTS_CTS) {
2425 tx_flags |= TX_CMD_FLG_RTS_MSK; 2426 tx_flags |= TX_CMD_FLG_RTS_MSK;
2426 tx_flags &= ~TX_CMD_FLG_CTS_MSK; 2427 tx_flags &= ~TX_CMD_FLG_CTS_MSK;
2427 } else if (info->flags & IEEE80211_TX_CTL_USE_CTS_PROTECT) { 2428 } else if (rc_flags & IEEE80211_TX_RC_USE_CTS_PROTECT) {
2428 tx_flags &= ~TX_CMD_FLG_RTS_MSK; 2429 tx_flags &= ~TX_CMD_FLG_RTS_MSK;
2429 tx_flags |= TX_CMD_FLG_CTS_MSK; 2430 tx_flags |= TX_CMD_FLG_CTS_MSK;
2430 } 2431 }