diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 5 |
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 | } |