diff options
author | Max Stepanov <max.stepanov@intel.com> | 2008-03-12 19:58:48 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-03-25 16:41:46 -0400 |
commit | 8236e183fc53be2b5d81a4f547f9c5b645e10fe0 (patch) | |
tree | 3556078a075580c445c85e2d5b5458ca4851864f /drivers | |
parent | 56ca84c61b667e23cdc6e5179df57b9baa0eddc3 (diff) |
iwlwifi: Bug fix, CCMP with HW encryption with AGG
This patch fixes a bug in security. Enables CCMP HW encryption with
aggregations.
Signed-off-by: Max Stepanov <max.stepanov@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965-commands.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-commands.h b/drivers/net/wireless/iwlwifi/iwl-4965-commands.h index 35f592dc40c6..1025ffeb8fa8 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965-commands.h +++ b/drivers/net/wireless/iwlwifi/iwl-4965-commands.h | |||
@@ -1045,6 +1045,10 @@ struct iwl4965_rx_mpdu_res_start { | |||
1045 | * MAC header) to DWORD boundary. */ | 1045 | * MAC header) to DWORD boundary. */ |
1046 | #define TX_CMD_FLG_MH_PAD_MSK __constant_cpu_to_le32(1 << 20) | 1046 | #define TX_CMD_FLG_MH_PAD_MSK __constant_cpu_to_le32(1 << 20) |
1047 | 1047 | ||
1048 | /* accelerate aggregation support | ||
1049 | * 0 - no CCMP encryption; 1 - CCMP encryption */ | ||
1050 | #define TX_CMD_FLG_AGG_CCMP_MSK __constant_cpu_to_le32(1 << 22) | ||
1051 | |||
1048 | /* HCCA-AP - disable duration overwriting. */ | 1052 | /* HCCA-AP - disable duration overwriting. */ |
1049 | #define TX_CMD_FLG_DUR_MSK __constant_cpu_to_le32(1 << 25) | 1053 | #define TX_CMD_FLG_DUR_MSK __constant_cpu_to_le32(1 << 25) |
1050 | 1054 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 0b7335181719..d0cb36b9efe3 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -2427,6 +2427,8 @@ static void iwl4965_build_tx_cmd_hwcrypto(struct iwl4965_priv *priv, | |||
2427 | case ALG_CCMP: | 2427 | case ALG_CCMP: |
2428 | cmd->cmd.tx.sec_ctl = TX_CMD_SEC_CCM; | 2428 | cmd->cmd.tx.sec_ctl = TX_CMD_SEC_CCM; |
2429 | memcpy(cmd->cmd.tx.key, keyinfo->key, keyinfo->keylen); | 2429 | memcpy(cmd->cmd.tx.key, keyinfo->key, keyinfo->keylen); |
2430 | if (ctl->flags & IEEE80211_TXCTL_AMPDU) | ||
2431 | cmd->cmd.tx.tx_flags |= TX_CMD_FLG_AGG_CCMP_MSK; | ||
2430 | IWL_DEBUG_TX("tx_cmd with aes hwcrypto\n"); | 2432 | IWL_DEBUG_TX("tx_cmd with aes hwcrypto\n"); |
2431 | break; | 2433 | break; |
2432 | 2434 | ||