Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 150447
b: refs/heads/master
c: 9839178
h: refs/heads/master
i:
  150445: 6b25b28
  150443: a7aa6ae
  150439: 38628cd
  150431: 9ab152f
v: v3
  • Loading branch information
Jussi Kivilinna authored and John W. Linville committed May 22, 2009
1 parent 2120706 commit 2e54210
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b145ee0ce1e325497e5bb91f78f1545b552b518f
refs/heads/master: 9839178e92bf205728c754aeb1933f631a9962d9
8 changes: 6 additions & 2 deletions trunk/drivers/net/wireless/rndis_wlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,7 @@ struct rndis_wext_private {
int encr_tx_key_index;
char encr_keys[4][32];
int encr_key_len[4];
char encr_key_wpa[4];
int wpa_version;
int wpa_keymgmt;
int wpa_authalg;
Expand Down Expand Up @@ -956,7 +957,7 @@ static int set_infra_mode(struct usbnet *usbdev, int mode)
if (priv->wpa_keymgmt == 0 ||
priv->wpa_keymgmt == IW_AUTH_KEY_MGMT_802_1X) {
for (i = 0; i < 4; i++) {
if (priv->encr_key_len[i] > 0)
if (priv->encr_key_len[i] > 0 && !priv->encr_key_wpa[i])
add_wep_key(usbdev, priv->encr_keys[i],
priv->encr_key_len[i], i);
}
Expand Down Expand Up @@ -1027,6 +1028,7 @@ static int add_wep_key(struct usbnet *usbdev, char *key, int key_len, int index)
}

priv->encr_key_len[index] = key_len;
priv->encr_key_wpa[index] = 0;
memcpy(&priv->encr_keys[index], key, key_len);

return 0;
Expand Down Expand Up @@ -1092,7 +1094,8 @@ static int add_wpa_key(struct usbnet *usbdev, const u8 *key, int key_len,
return ret;

priv->encr_key_len[index] = key_len;
memcpy(&priv->encr_keys[index], ndis_key.material, key_len);
priv->encr_key_wpa[index] = 1;

if (flags & ndis_80211_addkey_transmit_key)
priv->encr_tx_key_index = index;

Expand All @@ -1112,6 +1115,7 @@ static int remove_key(struct usbnet *usbdev, int index, u8 bssid[ETH_ALEN])
return 0;

priv->encr_key_len[index] = 0;
priv->encr_key_wpa[index] = 0;
memset(&priv->encr_keys[index], 0, sizeof(priv->encr_keys[index]));

if (priv->wpa_cipher_pair == IW_AUTH_CIPHER_TKIP ||
Expand Down

0 comments on commit 2e54210

Please sign in to comment.