Commit 4e297c21 authored by Jes Sorensen's avatar Jes Sorensen Committed by Greg Kroah-Hartman
Browse files

staging: rtl8723au: rtw_cfg80211_ap_set_encryption() is only called for WIFI_AP_STATE



No point checking it again in here, twice!

Signed-off-by: default avatarJes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5dab9e7d
Loading
Loading
Loading
Loading
+110 −127
Original line number Diff line number Diff line
@@ -509,7 +509,6 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
	u8 wep_key_idx;
	struct sta_info *psta = NULL, *pbcmc_sta = NULL;
	struct rtw_adapter *padapter = netdev_priv(dev);
	struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
	struct security_priv *psecuritypriv = &padapter->securitypriv;
	struct sta_priv *pstapriv = &padapter->stapriv;

@@ -598,7 +597,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,

	}

	if (!psta && check_fwstate(pmlmepriv, WIFI_AP_STATE)) {	/*  group key */
	if (!psta) {	/*  group key */
		if (param->u.crypt.set_tx == 0) {	/* group key */
			if (keyparms->cipher == WLAN_CIPHER_SUITE_WEP40 ||
			    keyparms->cipher == WLAN_CIPHER_SUITE_WEP104) {
@@ -620,7 +619,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
				DBG_8723A("%s, set group_key, TKIP\n",
					  __func__);

				psecuritypriv->dot118021XGrpPrivacy = WLAN_CIPHER_SUITE_TKIP;
				psecuritypriv->dot118021XGrpPrivacy =
					WLAN_CIPHER_SUITE_TKIP;

				memcpy(psecuritypriv->
				       dot118021XGrpKey[param->u.crypt.idx].
@@ -645,7 +645,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
					DBG_8723A("%s, set group_key, CCMP\n",
					  __func__);

				psecuritypriv->dot118021XGrpPrivacy = WLAN_CIPHER_SUITE_CCMP;
				psecuritypriv->dot118021XGrpPrivacy =
					WLAN_CIPHER_SUITE_CCMP;

				memcpy(psecuritypriv->
				       dot118021XGrpKey[param->u.crypt.idx].
@@ -685,9 +686,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
		goto exit;
	}

	if (psecuritypriv->dot11AuthAlgrthm ==
	    dot11AuthAlgrthm_8021X && psta) {	/*  psk/802_1x */
		if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
	if (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X && psta) {
		/*  psk/802_1x */
		if (param->u.crypt.set_tx == 1) {
			/* pairwise key */
			memcpy(psta->dot118021x_UncstKey.skey,
@@ -695,22 +695,20 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
			       (param->u.crypt.key_len >
				16 ? 16 : param->u.crypt.key_len));

				if (keyparms->cipher ==
				    WLAN_CIPHER_SUITE_WEP40 ||
				    keyparms->cipher ==
				    WLAN_CIPHER_SUITE_WEP104) {
			if (keyparms->cipher == WLAN_CIPHER_SUITE_WEP40 ||
			    keyparms->cipher == WLAN_CIPHER_SUITE_WEP104) {
				DBG_8723A("%s, set pairwise key, WEP\n",
					  __func__);

					psta->dot118021XPrivacy = WLAN_CIPHER_SUITE_WEP40;
				psta->dot118021XPrivacy =
					WLAN_CIPHER_SUITE_WEP40;
				if (param->u.crypt.key_len == 13) {
					psta->dot118021XPrivacy =
						WLAN_CIPHER_SUITE_WEP104;
				}
				} else if (keyparms->cipher ==
					   WLAN_CIPHER_SUITE_TKIP) {
					DBG_8723A("%s, set pairwise key, "
						  "TKIP\n", __func__);
			} else if (keyparms->cipher == WLAN_CIPHER_SUITE_TKIP) {
				DBG_8723A("%s, set pairwise key, TKIP\n",
					  __func__);

				psta->dot118021XPrivacy =
					WLAN_CIPHER_SUITE_TKIP;
@@ -724,16 +722,15 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,

				psecuritypriv->busetkipkey = 1;

				} else if (keyparms->cipher ==
					   WLAN_CIPHER_SUITE_CCMP) {
					DBG_8723A("%s, set pairwise key, "
						  "CCMP\n", __func__);
			} else if (keyparms->cipher == WLAN_CIPHER_SUITE_CCMP) {
				DBG_8723A("%s, set pairwise key, CCMP\n",
					  __func__);

				psta->dot118021XPrivacy =
					WLAN_CIPHER_SUITE_CCMP;
			} else {
					DBG_8723A("%s, set pairwise key, "
						  "none\n", __func__);
				DBG_8723A("%s, set pairwise key, none\n",
					  __func__);

				psta->dot118021XPrivacy = 0;
			}
@@ -744,27 +741,22 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,

			psta->bpairwise_key_installed = true;
		} else {	/* group key??? */
				if (keyparms->cipher ==
				    WLAN_CIPHER_SUITE_WEP40 ||
				    keyparms->cipher ==
				    WLAN_CIPHER_SUITE_WEP104) {
			if (keyparms->cipher == WLAN_CIPHER_SUITE_WEP40 ||
			    keyparms->cipher == WLAN_CIPHER_SUITE_WEP104) {
				memcpy(psecuritypriv->
				       dot118021XGrpKey[param->u.crypt.
							idx].skey,
				       param->u.crypt.key,
				       (param->u.crypt.key_len >
						16 ? 16 : param->u.crypt.
						key_len));
					16 ? 16 : param->u.crypt.key_len));

				psecuritypriv->dot118021XGrpPrivacy =
					WLAN_CIPHER_SUITE_WEP40;
				if (param->u.crypt.key_len == 13) {
						psecuritypriv->
						    dot118021XGrpPrivacy =
					psecuritypriv->dot118021XGrpPrivacy =
						WLAN_CIPHER_SUITE_WEP104;
				}
				} else if (keyparms->cipher ==
					   WLAN_CIPHER_SUITE_TKIP) {
			} else if (keyparms->cipher == WLAN_CIPHER_SUITE_TKIP) {
				psecuritypriv->dot118021XGrpPrivacy =
					WLAN_CIPHER_SUITE_TKIP;

@@ -773,8 +765,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
							idx].skey,
				       param->u.crypt.key,
				       (param->u.crypt.key_len >
						16 ? 16 : param->u.crypt.
						key_len));
					16 ? 16 : param->u.crypt.key_len));

				/* DEBUG_ERR("set key length :param->u"
				   ".crypt.key_len =%d\n",
@@ -782,19 +773,16 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
				/* set mic key */
				memcpy(psecuritypriv->
				       dot118021XGrptxmickey[param->u.
								     crypt.idx].
					       skey, &param->u.crypt.key[16],
					       8);
							     crypt.idx].skey,
				       &param->u.crypt.key[16], 8);
				memcpy(psecuritypriv->
				       dot118021XGrprxmickey[param->u.
								     crypt.idx].
					       skey, &param->u.crypt.key[24],
					       8);
							     crypt.idx].skey,
				       &param->u.crypt.key[24], 8);

				psecuritypriv->busetkipkey = 1;

				} else if (keyparms->cipher ==
					   WLAN_CIPHER_SUITE_CCMP) {
			} else if (keyparms->cipher == WLAN_CIPHER_SUITE_CCMP) {
				psecuritypriv->dot118021XGrpPrivacy =
					WLAN_CIPHER_SUITE_CCMP;

@@ -803,15 +791,12 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
							idx].skey,
				       param->u.crypt.key,
				       (param->u.crypt.key_len >
						16 ? 16 : param->u.crypt.
						key_len));
					16 ? 16 : param->u.crypt.key_len));
			} else {
					psecuritypriv->dot118021XGrpPrivacy =
						0;
				psecuritypriv->dot118021XGrpPrivacy = 0;
			}

				psecuritypriv->dot118021XGrpKeyid =
					param->u.crypt.idx;
			psecuritypriv->dot118021XGrpKeyid = param->u.crypt.idx;

			psecuritypriv->binstallGrpkey = 1;

@@ -819,8 +804,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
				psecuritypriv->dot118021XGrpPrivacy;

			set_group_key(padapter, param->u.crypt.key,
					      psecuritypriv->
					      dot118021XGrpPrivacy,
				      psecuritypriv->dot118021XGrpPrivacy,
				      param->u.crypt.idx);

			pbcmc_sta = rtw_get_bcmc_stainfo23a(padapter);
@@ -828,8 +812,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
				/* rx will use bmc_sta's
				   dot118021XPrivacy */
				pbcmc_sta->ieee8021x_blocked = false;
					pbcmc_sta->dot118021XPrivacy = psecuritypriv->dot118021XGrpPrivacy;
				}
				pbcmc_sta->dot118021XPrivacy =
					psecuritypriv->dot118021XGrpPrivacy;
			}
		}
	}
@@ -837,7 +821,6 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
exit:

	return ret;

}
#endif