aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2008-04-15 00:16:07 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-04-16 15:59:58 -0400
commit0211ddda9deb681a804572936cd49e466a1aa88b (patch)
treea9bb069458364ba40c8c7024352f9ac36a8bdfcf /drivers/net/wireless/iwlwifi/iwl4965-base.c
parent6974e36356524fa856435cb1be40aaffbac9601a (diff)
iwlwifi: add 1X HW WEP support
This patch adds support for HW encryption/decryption in 1X WEP. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index dfd2b75492e..37ab1c565ce 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -1214,7 +1214,7 @@ static int iwl4965_set_dynamic_key(struct iwl_priv *priv,
1214 ret = iwl4965_set_tkip_dynamic_key_info(priv, key, sta_id); 1214 ret = iwl4965_set_tkip_dynamic_key_info(priv, key, sta_id);
1215 break; 1215 break;
1216 case ALG_WEP: 1216 case ALG_WEP:
1217 ret = -EOPNOTSUPP; 1217 ret = iwl_set_wep_dynamic_key_info(priv, key, sta_id);
1218 break; 1218 break;
1219 default: 1219 default:
1220 IWL_ERROR("Unknown alg: %s alg = %d\n", __func__, key->alg); 1220 IWL_ERROR("Unknown alg: %s alg = %d\n", __func__, key->alg);
@@ -2138,7 +2138,12 @@ static void iwl4965_build_tx_cmd_hwcrypto(struct iwl_priv *priv,
2138 if (wepkey->key_size == WEP_KEY_LEN_128) 2138 if (wepkey->key_size == WEP_KEY_LEN_128)
2139 cmd->cmd.tx.sec_ctl |= TX_CMD_SEC_KEY128; 2139 cmd->cmd.tx.sec_ctl |= TX_CMD_SEC_KEY128;
2140 } else { 2140 } else {
2141 IWL_ERROR("No support for WEP key mappings key\n"); 2141 /* the WEP key was sent as dynamic */
2142 keyidx = keyinfo->keyidx;
2143 memcpy(&cmd->cmd.tx.key[3], keyinfo->key,
2144 keyinfo->keylen);
2145 if (keyinfo->keylen == WEP_KEY_LEN_128)
2146 cmd->cmd.tx.sec_ctl |= TX_CMD_SEC_KEY128;
2142 } 2147 }
2143 2148
2144 cmd->cmd.tx.sec_ctl |= (TX_CMD_SEC_WEP | 2149 cmd->cmd.tx.sec_ctl |= (TX_CMD_SEC_WEP |