summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJes Sorensen <Jes.Sorensen@redhat.com>2014-06-24 15:03:54 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-06-24 13:51:02 -0400
commit2dcf6b4c73a3b92774955b83e5bd7c5cec2c87e6 (patch)
treeca48059c3225bb15a2cf9d9ef24bb58603616b14
parent7ef2743da1bb1edcad5cdfafe75652445fa3cc1b (diff)
staging: rtl8723au: Eliminate set_wep_key() and call set_group_key() directly
This also eliminates another round of determine algorithm based on key length, followed by determine key length based on algorithm. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c45
1 files changed, 6 insertions, 39 deletions
diff --git a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
index 87f953c2eaec..93dc844a10b3 100644
--- a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
@@ -417,10 +417,9 @@ exit:
return res;
}
-static int set_group_key(struct rtw_adapter *padapter, const u8 *key, u32 alg,
- u8 keyid)
+static int set_group_key(struct rtw_adapter *padapter, struct key_params *parms,
+ u32 alg, u8 keyid)
{
- u8 keylen;
struct cmd_obj *pcmd;
struct setkey_parm *psetkeyparm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
@@ -453,20 +452,7 @@ static int set_group_key(struct rtw_adapter *padapter, const u8 *key, u32 alg,
psetkeyparm->set_tx = 1;
- switch (alg) {
- case WLAN_CIPHER_SUITE_WEP40:
- keylen = 5;
- break;
- case WLAN_CIPHER_SUITE_WEP104:
- keylen = 13;
- break;
- case WLAN_CIPHER_SUITE_TKIP:
- case WLAN_CIPHER_SUITE_CCMP:
- default:
- keylen = 16;
- }
-
- memcpy(&psetkeyparm->key[0], key, keylen);
+ memcpy(&psetkeyparm->key, parms->key, parms->key_len);
pcmd->cmdcode = _SetKey_CMD_;
pcmd->parmbuf = (u8 *) psetkeyparm;
@@ -480,25 +466,6 @@ exit:
return res;
}
-static int set_wep_key(struct rtw_adapter *padapter, const u8 *key, u16 keylen,
- u8 keyid)
-{
- u32 alg;
-
- switch (keylen) {
- case 5:
- alg = WLAN_CIPHER_SUITE_WEP40;
- break;
- case 13:
- alg = WLAN_CIPHER_SUITE_WEP104;
- break;
- default:
- alg = 0;
- }
-
- return set_group_key(padapter, key, alg, keyid);
-}
-
static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index,
int set_tx, const u8 *sta_addr,
struct key_params *keyparms)
@@ -548,7 +515,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index,
psecuritypriv->wep_key[key_index].keylen = key_len;
- set_wep_key(padapter, keyparms->key, key_len, key_index);
+ set_group_key(padapter, keyparms, keyparms->cipher, key_index);
goto exit;
}
@@ -612,7 +579,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index,
psecuritypriv->dot11PrivacyAlgrthm =
psecuritypriv->dot118021XGrpPrivacy;
- set_group_key(padapter, keyparms->key,
+ set_group_key(padapter, keyparms,
psecuritypriv->dot118021XGrpPrivacy,
key_index);
@@ -723,7 +690,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, u8 key_index,
psecuritypriv->dot11PrivacyAlgrthm =
psecuritypriv->dot118021XGrpPrivacy;
- set_group_key(padapter, keyparms->key,
+ set_group_key(padapter, keyparms,
psecuritypriv->dot118021XGrpPrivacy,
key_index);