staging: r8188eu: remove rtw_set_802_11_add_key()
authorMichael Straube <straube.linux@gmail.com>
Wed, 22 Sep 2021 20:03:51 +0000 (22:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Sep 2021 15:29:40 +0000 (17:29 +0200)
Function rtw_set_802_11_add_key() is not used, remove it.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20210922200420.9693-19-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_ioctl_set.c
drivers/staging/r8188eu/include/rtw_ioctl_set.h

index a0702bfaa549741b9effcda4ec3570f54a9f3746..afa72b21fc0bfd671bdab1cf456aadde625daff1 100644 (file)
@@ -492,236 +492,6 @@ exit:
        return ret;
 }
 
-u8 rtw_set_802_11_add_key(struct adapter *padapter, struct ndis_802_11_key *key)
-{
-       uint    encryptionalgo;
-       u8 *pbssid;
-       struct sta_info *stainfo;
-       u8      bgroup = false;
-       u8      bgrouptkey = false;/* can be removed later */
-       u8      ret = _SUCCESS;
-
-       if (((key->KeyIndex & 0x80000000) == 0) && ((key->KeyIndex & 0x40000000) > 0)) {
-               /*  It is invalid to clear bit 31 and set bit 30. If the miniport driver encounters this combination, */
-               /*  it must fail the request and return NDIS_STATUS_INVALID_DATA. */
-               ret = _FAIL;
-               goto exit;
-       }
-
-       if (key->KeyIndex & 0x40000000) {
-               /*  Pairwise key */
-
-               pbssid = get_bssid(&padapter->mlmepriv);
-               stainfo = rtw_get_stainfo(&padapter->stapriv, pbssid);
-
-               if (stainfo && padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X)
-                       encryptionalgo = stainfo->dot118021XPrivacy;
-               else
-                       encryptionalgo = padapter->securitypriv.dot11PrivacyAlgrthm;
-
-               if (key->KeyIndex & 0x000000FF) {
-                       /*  The key index is specified in the lower 8 bits by values of zero to 255. */
-                       /*  The key index should be set to zero for a Pairwise key, and the driver should fail with */
-                       /*  NDIS_STATUS_INVALID_DATA if the lower 8 bits is not zero */
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               /*  check BSSID */
-               if (is_broadcast_ether_addr(key->BSSID)) {
-                       ret = false;
-                       goto exit;
-               }
-
-               /*  Check key length for TKIP. */
-               if ((encryptionalgo == _TKIP_) && (key->KeyLength != 32)) {
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               /*  Check key length for AES. */
-               if ((encryptionalgo == _AES_) && (key->KeyLength != 16)) {
-                       /*  For our supplicant, EAPPkt9x.vxd, cannot differentiate TKIP and AES case. */
-                       if (key->KeyLength == 32) {
-                               key->KeyLength = 16;
-                       } else {
-                               ret = _FAIL;
-                               goto exit;
-                       }
-               }
-
-               /*  Check key length for WEP. For NDTEST, 2005.01.27, by rcnjko. */
-               if ((encryptionalgo == _WEP40_ || encryptionalgo == _WEP104_) &&
-                   (key->KeyLength != 5 && key->KeyLength != 13)) {
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               bgroup = false;
-       } else {
-               /*  Group key - KeyIndex(BIT(30) == 0) */
-               /*  when add wep key through add key and didn't assigned encryption type before */
-               if ((padapter->securitypriv.ndisauthtype <= 3) &&
-                   (padapter->securitypriv.dot118021XGrpPrivacy == 0)) {
-                       switch (key->KeyLength) {
-                       case 5:
-                               padapter->securitypriv.dot11PrivacyAlgrthm = _WEP40_;
-                               break;
-                       case 13:
-                               padapter->securitypriv.dot11PrivacyAlgrthm = _WEP104_;
-                               break;
-                       default:
-                               padapter->securitypriv.dot11PrivacyAlgrthm = _NO_PRIVACY_;
-                               break;
-                       }
-
-                       encryptionalgo = padapter->securitypriv.dot11PrivacyAlgrthm;
-               } else {
-                       encryptionalgo = padapter->securitypriv.dot118021XGrpPrivacy;
-               }
-
-               if (check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE) && !is_broadcast_ether_addr(key->BSSID)) {
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               /*  Check key length for TKIP */
-               if ((encryptionalgo == _TKIP_) && (key->KeyLength != 32)) {
-                       ret = _FAIL;
-                       goto exit;
-               } else if (encryptionalgo == _AES_ && (key->KeyLength != 16 && key->KeyLength != 32)) {
-                       /*  Check key length for AES */
-                       /*  For NDTEST, we allow keylen = 32 in this case. 2005.01.27, by rcnjko. */
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               /*  Change the key length for EAPPkt9x.vxd. Added by Annie, 2005-11-03. */
-               if ((encryptionalgo ==  _AES_) && (key->KeyLength == 32))
-                       key->KeyLength = 16;
-
-               if (key->KeyIndex & 0x8000000) {/* error ??? 0x8000_0000 */
-                       bgrouptkey = true;
-               }
-
-               if ((check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE)) &&
-                   (check_fwstate(&padapter->mlmepriv, _FW_LINKED)))
-                       bgrouptkey = true;
-               bgroup = true;
-       }
-
-       /*  If WEP encryption algorithm, just call rtw_set_802_11_add_wep(). */
-       if ((padapter->securitypriv.dot11AuthAlgrthm != dot11AuthAlgrthm_8021X) &&
-           (encryptionalgo == _WEP40_ || encryptionalgo == _WEP104_)) {
-               u32 keyindex;
-               u32 len = FIELD_OFFSET(struct ndis_802_11_key, KeyMaterial) + key->KeyLength;
-               struct ndis_802_11_wep *wep = &padapter->securitypriv.ndiswep;
-
-               wep->Length = len;
-               keyindex = key->KeyIndex & 0x7fffffff;
-               wep->KeyIndex = keyindex;
-               wep->KeyLength = key->KeyLength;
-
-               memcpy(wep->KeyMaterial, key->KeyMaterial, key->KeyLength);
-               memcpy(&padapter->securitypriv.dot11DefKey[keyindex].skey[0], key->KeyMaterial, key->KeyLength);
-
-               padapter->securitypriv.dot11DefKeylen[keyindex] = key->KeyLength;
-               padapter->securitypriv.dot11PrivacyKeyIndex = keyindex;
-
-               ret = rtw_set_802_11_add_wep(padapter, wep);
-               goto exit;
-       }
-       if (key->KeyIndex & 0x20000000) {
-               /*  SetRSC */
-               if (bgroup) {
-                       unsigned long long keysrc = key->KeyRSC & 0x00FFFFFFFFFFFFULL;
-                       memcpy(&padapter->securitypriv.dot11Grprxpn, &keysrc, 8);
-               } else {
-                       unsigned long long keysrc = key->KeyRSC & 0x00FFFFFFFFFFFFULL;
-                       memcpy(&padapter->securitypriv.dot11Grptxpn, &keysrc, 8);
-               }
-       }
-
-       /*  Indicate this key idx is used for TX */
-       /*  Save the key in KeyMaterial */
-       if (bgroup) { /*  Group transmit key */
-               int res;
-
-               if (bgrouptkey)
-                       padapter->securitypriv.dot118021XGrpKeyid = (u8)key->KeyIndex;
-               if ((key->KeyIndex & 0x3) == 0) {
-                       ret = _FAIL;
-                       goto exit;
-               }
-               memset(&padapter->securitypriv.dot118021XGrpKey[(u8)((key->KeyIndex) & 0x03)], 0, 16);
-               memset(&padapter->securitypriv.dot118021XGrptxmickey[(u8)((key->KeyIndex) & 0x03)], 0, 16);
-               memset(&padapter->securitypriv.dot118021XGrprxmickey[(u8)((key->KeyIndex) & 0x03)], 0, 16);
-
-               if ((key->KeyIndex & 0x10000000)) {
-                       memcpy(&padapter->securitypriv.dot118021XGrptxmickey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial + 16, 8);
-                       memcpy(&padapter->securitypriv.dot118021XGrprxmickey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial + 24, 8);
-               } else {
-                       memcpy(&padapter->securitypriv.dot118021XGrptxmickey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial + 24, 8);
-                       memcpy(&padapter->securitypriv.dot118021XGrprxmickey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial + 16, 8);
-               }
-
-               /* set group key by index */
-               memcpy(&padapter->securitypriv.dot118021XGrpKey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial, key->KeyLength);
-
-               key->KeyIndex = key->KeyIndex & 0x03;
-
-               padapter->securitypriv.binstallGrpkey = true;
-
-               padapter->securitypriv.bcheck_grpkey = false;
-
-               res = rtw_set_key(padapter, &padapter->securitypriv, key->KeyIndex, 1);
-
-               if (res == _FAIL)
-                       ret = _FAIL;
-
-               goto exit;
-
-       } else { /*  Pairwise Key */
-               u8 res;
-
-               pbssid = get_bssid(&padapter->mlmepriv);
-               stainfo = rtw_get_stainfo(&padapter->stapriv, pbssid);
-
-               if (stainfo) {
-                       memset(&stainfo->dot118021x_UncstKey, 0, 16);/*  clear keybuffer */
-
-                       memcpy(&stainfo->dot118021x_UncstKey, key->KeyMaterial, 16);
-
-                       if (encryptionalgo == _TKIP_) {
-                               padapter->securitypriv.busetkipkey = false;
-
-                               /* _set_timer(&padapter->securitypriv.tkip_timer, 50); */
-
-                               /*  if TKIP, save the Receive/Transmit MIC key in KeyMaterial[128-255] */
-                               if ((key->KeyIndex & 0x10000000)) {
-                                       memcpy(&stainfo->dot11tkiptxmickey, key->KeyMaterial + 16, 8);
-                                       memcpy(&stainfo->dot11tkiprxmickey, key->KeyMaterial + 24, 8);
-
-                               } else {
-                                       memcpy(&stainfo->dot11tkiptxmickey, key->KeyMaterial + 24, 8);
-                                       memcpy(&stainfo->dot11tkiprxmickey, key->KeyMaterial + 16, 8);
-                               }
-                       }
-
-                       /* Set key to CAM through H2C command */
-                       if (bgrouptkey) /* never go to here */
-                               res = rtw_setstakey_cmd(padapter, (unsigned char *)stainfo, false);
-                       else
-                               res = rtw_setstakey_cmd(padapter, (unsigned char *)stainfo, true);
-                       if (!res)
-                               ret = _FAIL;
-               }
-       }
-exit:
-
-       return ret;
-}
-
 u8 rtw_set_802_11_remove_key(struct adapter *padapter, struct ndis_802_11_remove_key *key)
 {
        u8 *pbssid;
index 6216b8ab3a7989f50e1625d622d68c6b11d595e3..3f4b4873eb98104f0dd21b1bf4558b377e7eb755 100644 (file)
@@ -8,7 +8,6 @@
 
 typedef u8 NDIS_802_11_PMKID_VALUE[16];
 
-u8 rtw_set_802_11_add_key(struct adapter *adapt, struct ndis_802_11_key *key);
 u8 rtw_set_802_11_authentication_mode(struct adapter *adapt,
                                      enum ndis_802_11_auth_mode authmode);
 u8 rtw_set_802_11_bssid(struct adapter*adapter, u8 *bssid);