aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
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 dfd2b75492e6..37ab1c565ce1 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 |