forked from Minki/linux
staging: ks7010: refactor hostif_sme_set_rsn function
This commit make use of two introduced local variables to make more readable code of hostif_sme_set_rsn function. It just assign those local variables in different cases where are needed and extract common code to assign them at the end. Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2152effabe
commit
f20703b4cf
@ -1613,12 +1613,13 @@ struct rsn_mode {
|
|||||||
__le16 rsn_capability;
|
__le16 rsn_capability;
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
static
|
static void hostif_sme_set_rsn(struct ks_wlan_private *priv, int type)
|
||||||
void hostif_sme_set_rsn(struct ks_wlan_private *priv, int type)
|
|
||||||
{
|
{
|
||||||
struct wpa_suite wpa_suite;
|
struct wpa_suite wpa_suite;
|
||||||
struct rsn_mode rsn_mode;
|
struct rsn_mode rsn_mode;
|
||||||
size_t size;
|
size_t size;
|
||||||
|
u32 mode;
|
||||||
|
const u8 *buf = NULL;
|
||||||
|
|
||||||
memset(&wpa_suite, 0, sizeof(wpa_suite));
|
memset(&wpa_suite, 0, sizeof(wpa_suite));
|
||||||
|
|
||||||
@ -1627,47 +1628,29 @@ void hostif_sme_set_rsn(struct ks_wlan_private *priv, int type)
|
|||||||
wpa_suite.size = cpu_to_le16((uint16_t)1);
|
wpa_suite.size = cpu_to_le16((uint16_t)1);
|
||||||
switch (priv->wpa.pairwise_suite) {
|
switch (priv->wpa.pairwise_suite) {
|
||||||
case IW_AUTH_CIPHER_NONE:
|
case IW_AUTH_CIPHER_NONE:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_NONE : CIPHER_ID_WPA_NONE;
|
||||||
CIPHER_ID_WPA2_NONE, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_NONE, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_CIPHER_WEP40:
|
case IW_AUTH_CIPHER_WEP40:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_WEP40 : CIPHER_ID_WPA_WEP40;
|
||||||
CIPHER_ID_WPA2_WEP40, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_WEP40, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_CIPHER_TKIP:
|
case IW_AUTH_CIPHER_TKIP:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_TKIP : CIPHER_ID_WPA_TKIP;
|
||||||
CIPHER_ID_WPA2_TKIP, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_TKIP, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_CIPHER_CCMP:
|
case IW_AUTH_CIPHER_CCMP:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_CCMP : CIPHER_ID_WPA_CCMP;
|
||||||
CIPHER_ID_WPA2_CCMP, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_CCMP, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_CIPHER_WEP104:
|
case IW_AUTH_CIPHER_WEP104:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_WEP104 : CIPHER_ID_WPA_WEP104;
|
||||||
CIPHER_ID_WPA2_WEP104, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_WEP104, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (buf)
|
||||||
|
memcpy(&wpa_suite.suite[0][0], buf, CIPHER_ID_LEN);
|
||||||
size = sizeof(wpa_suite.size) +
|
size = sizeof(wpa_suite.size) +
|
||||||
(CIPHER_ID_LEN * le16_to_cpu(wpa_suite.size));
|
(CIPHER_ID_LEN * le16_to_cpu(wpa_suite.size));
|
||||||
hostif_mib_set_request_ostring(priv,
|
hostif_mib_set_request_ostring(priv,
|
||||||
@ -1677,46 +1660,28 @@ void hostif_sme_set_rsn(struct ks_wlan_private *priv, int type)
|
|||||||
case SME_RSN_MCAST_REQUEST:
|
case SME_RSN_MCAST_REQUEST:
|
||||||
switch (priv->wpa.group_suite) {
|
switch (priv->wpa.group_suite) {
|
||||||
case IW_AUTH_CIPHER_NONE:
|
case IW_AUTH_CIPHER_NONE:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_NONE : CIPHER_ID_WPA_NONE;
|
||||||
CIPHER_ID_WPA2_NONE, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_NONE, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_CIPHER_WEP40:
|
case IW_AUTH_CIPHER_WEP40:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_WEP40 : CIPHER_ID_WPA_WEP40;
|
||||||
CIPHER_ID_WPA2_WEP40, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_WEP40, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_CIPHER_TKIP:
|
case IW_AUTH_CIPHER_TKIP:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_TKIP : CIPHER_ID_WPA_TKIP;
|
||||||
CIPHER_ID_WPA2_TKIP, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_TKIP, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_CIPHER_CCMP:
|
case IW_AUTH_CIPHER_CCMP:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_CCMP : CIPHER_ID_WPA_CCMP;
|
||||||
CIPHER_ID_WPA2_CCMP, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_CCMP, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_CIPHER_WEP104:
|
case IW_AUTH_CIPHER_WEP104:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
CIPHER_ID_WPA2_WEP104 : CIPHER_ID_WPA_WEP104;
|
||||||
CIPHER_ID_WPA2_WEP104, CIPHER_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
CIPHER_ID_WPA_WEP104, CIPHER_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (buf)
|
||||||
|
memcpy(&wpa_suite.suite[0][0], buf, CIPHER_ID_LEN);
|
||||||
hostif_mib_set_request_ostring(priv,
|
hostif_mib_set_request_ostring(priv,
|
||||||
DOT11_RSN_CONFIG_MULTICAST_CIPHER,
|
DOT11_RSN_CONFIG_MULTICAST_CIPHER,
|
||||||
&wpa_suite.suite[0][0],
|
&wpa_suite.suite[0][0],
|
||||||
@ -1726,41 +1691,26 @@ void hostif_sme_set_rsn(struct ks_wlan_private *priv, int type)
|
|||||||
wpa_suite.size = cpu_to_le16((uint16_t)1);
|
wpa_suite.size = cpu_to_le16((uint16_t)1);
|
||||||
switch (priv->wpa.key_mgmt_suite) {
|
switch (priv->wpa.key_mgmt_suite) {
|
||||||
case IW_AUTH_KEY_MGMT_802_1X:
|
case IW_AUTH_KEY_MGMT_802_1X:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
KEY_MGMT_ID_WPA2_1X : KEY_MGMT_ID_WPA_1X;
|
||||||
KEY_MGMT_ID_WPA2_1X, KEY_MGMT_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
KEY_MGMT_ID_WPA_1X, KEY_MGMT_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case IW_AUTH_KEY_MGMT_PSK:
|
case IW_AUTH_KEY_MGMT_PSK:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
KEY_MGMT_ID_WPA2_PSK : KEY_MGMT_ID_WPA_PSK;
|
||||||
KEY_MGMT_ID_WPA2_PSK, KEY_MGMT_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
KEY_MGMT_ID_WPA_PSK, KEY_MGMT_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
KEY_MGMT_ID_WPA2_NONE : KEY_MGMT_ID_WPA_NONE;
|
||||||
KEY_MGMT_ID_WPA2_NONE, KEY_MGMT_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
KEY_MGMT_ID_WPA_NONE, KEY_MGMT_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2)
|
buf = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
KEY_MGMT_ID_WPA2_WPANONE :
|
||||||
KEY_MGMT_ID_WPA2_WPANONE,
|
KEY_MGMT_ID_WPA_WPANONE;
|
||||||
KEY_MGMT_ID_LEN);
|
|
||||||
else
|
|
||||||
memcpy(&wpa_suite.suite[0][0],
|
|
||||||
KEY_MGMT_ID_WPA_WPANONE,
|
|
||||||
KEY_MGMT_ID_LEN);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (buf)
|
||||||
|
memcpy(&wpa_suite.suite[0][0], buf, KEY_MGMT_ID_LEN);
|
||||||
size = sizeof(wpa_suite.size) +
|
size = sizeof(wpa_suite.size) +
|
||||||
(KEY_MGMT_ID_LEN * le16_to_cpu(wpa_suite.size));
|
(KEY_MGMT_ID_LEN * le16_to_cpu(wpa_suite.size));
|
||||||
hostif_mib_set_request_ostring(priv,
|
hostif_mib_set_request_ostring(priv,
|
||||||
@ -1772,19 +1722,12 @@ void hostif_sme_set_rsn(struct ks_wlan_private *priv, int type)
|
|||||||
priv->wpa.rsn_enabled);
|
priv->wpa.rsn_enabled);
|
||||||
break;
|
break;
|
||||||
case SME_RSN_MODE_REQUEST:
|
case SME_RSN_MODE_REQUEST:
|
||||||
if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) {
|
mode = (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA2) ?
|
||||||
rsn_mode.rsn_mode =
|
RSN_MODE_WPA2 :
|
||||||
cpu_to_le32((uint32_t)RSN_MODE_WPA2);
|
(priv->wpa.version == IW_AUTH_WPA_VERSION_WPA) ?
|
||||||
rsn_mode.rsn_capability = cpu_to_le16((uint16_t)0);
|
RSN_MODE_WPA : RSN_MODE_NONE;
|
||||||
} else if (priv->wpa.version == IW_AUTH_WPA_VERSION_WPA) {
|
rsn_mode.rsn_mode = cpu_to_le32(mode);
|
||||||
rsn_mode.rsn_mode =
|
rsn_mode.rsn_capability = cpu_to_le16((uint16_t)0);
|
||||||
cpu_to_le32((uint32_t)RSN_MODE_WPA);
|
|
||||||
rsn_mode.rsn_capability = cpu_to_le16((uint16_t)0);
|
|
||||||
} else {
|
|
||||||
rsn_mode.rsn_mode =
|
|
||||||
cpu_to_le32((uint32_t)RSN_MODE_NONE);
|
|
||||||
rsn_mode.rsn_capability = cpu_to_le16((uint16_t)0);
|
|
||||||
}
|
|
||||||
hostif_mib_set_request_ostring(priv, LOCAL_RSN_MODE,
|
hostif_mib_set_request_ostring(priv, LOCAL_RSN_MODE,
|
||||||
&rsn_mode, sizeof(rsn_mode));
|
&rsn_mode, sizeof(rsn_mode));
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user