Commit e8f05b0b authored by Mateusz Kulikowski's avatar Mateusz Kulikowski Committed by Greg Kroah-Hartman

staging: rtl8192e: Divide rtllib_rx_auth()

Move authentication response processing to rtllib_rx_auth_resp() function.
No logic is affected.
Signed-off-by: default avatarMateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 61dbdf36
...@@ -2314,73 +2314,77 @@ inline int rtllib_rx_assoc_resp(struct rtllib_device *ieee, struct sk_buff *skb, ...@@ -2314,73 +2314,77 @@ inline int rtllib_rx_assoc_resp(struct rtllib_device *ieee, struct sk_buff *skb,
return 0; return 0;
} }
inline int rtllib_rx_auth(struct rtllib_device *ieee, struct sk_buff *skb, static void rtllib_rx_auth_resp(struct rtllib_device *ieee, struct sk_buff *skb)
struct rtllib_rx_stats *rx_stats)
{ {
u16 errcode; u16 errcode;
u8 *challenge; u8 *challenge;
int chlen = 0; int chlen = 0;
bool bSupportNmode = true, bHalfSupportNmode = false; bool bSupportNmode = true, bHalfSupportNmode = false;
if (ieee->softmac_features & IEEE_SOFTMAC_ASSOCIATE) { errcode = auth_parse(skb, &challenge, &chlen);
if (ieee->state == RTLLIB_ASSOCIATING_AUTHENTICATING && if (0 == errcode) {
(ieee->iw_mode == IW_MODE_INFRA)) { if (ieee->open_wep || !challenge) {
RTLLIB_DEBUG_MGMT("Received authentication response"); ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED;
ieee->softmac_stats.rx_auth_rs_ok++;
errcode = auth_parse(skb, &challenge, &chlen); if (!(ieee->pHTInfo->IOTAction &
if (0 == errcode) { HT_IOT_ACT_PURE_N_MODE)) {
if (ieee->open_wep || !challenge) { if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) {
ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED; if (IsHTHalfNmodeAPs(ieee)) {
ieee->softmac_stats.rx_auth_rs_ok++; bSupportNmode = true;
if (!(ieee->pHTInfo->IOTAction & bHalfSupportNmode = true;
HT_IOT_ACT_PURE_N_MODE)) {
if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) {
if (IsHTHalfNmodeAPs(ieee)) {
bSupportNmode = true;
bHalfSupportNmode = true;
} else {
bSupportNmode = false;
bHalfSupportNmode = false;
}
}
}
/* Dummy wirless mode setting to avoid
* encryption issue */
if (bSupportNmode) {
ieee->SetWirelessMode(ieee->dev,
ieee->current_network.mode);
} else { } else {
/*TODO*/ bSupportNmode = false;
ieee->SetWirelessMode(ieee->dev, bHalfSupportNmode = false;
IEEE_G);
} }
if (ieee->current_network.mode ==
IEEE_N_24G && bHalfSupportNmode) {
netdev_info(ieee->dev,
"======>enter half N mode\n");
ieee->bHalfWirelessN24GMode =
true;
} else
ieee->bHalfWirelessN24GMode =
false;
rtllib_associate_step2(ieee);
} else {
rtllib_auth_challenge(ieee, challenge,
chlen);
} }
}
/* Dummy wirless mode setting to avoid
* encryption issue */
if (bSupportNmode) {
ieee->SetWirelessMode(ieee->dev,
ieee->current_network.mode);
} else { } else {
ieee->softmac_stats.rx_auth_rs_err++; /*TODO*/
RTLLIB_DEBUG_MGMT("Authentication respose status code 0x%x", ieee->SetWirelessMode(ieee->dev,
errcode); IEEE_G);
}
if (ieee->current_network.mode ==
IEEE_N_24G && bHalfSupportNmode) {
netdev_info(ieee->dev, netdev_info(ieee->dev,
"Authentication respose status code 0x%x", "======>enter half N mode\n");
errcode); ieee->bHalfWirelessN24GMode =
rtllib_associate_abort(ieee); true;
} } else
ieee->bHalfWirelessN24GMode =
false;
rtllib_associate_step2(ieee);
} else {
rtllib_auth_challenge(ieee, challenge,
chlen);
}
} else {
ieee->softmac_stats.rx_auth_rs_err++;
RTLLIB_DEBUG_MGMT("Authentication respose status code 0x%x",
errcode);
netdev_info(ieee->dev,
"Authentication respose status code 0x%x",
errcode);
rtllib_associate_abort(ieee);
}
}
inline int rtllib_rx_auth(struct rtllib_device *ieee, struct sk_buff *skb,
struct rtllib_rx_stats *rx_stats)
{
if (ieee->softmac_features & IEEE_SOFTMAC_ASSOCIATE) {
if (ieee->state == RTLLIB_ASSOCIATING_AUTHENTICATING &&
(ieee->iw_mode == IW_MODE_INFRA)) {
RTLLIB_DEBUG_MGMT("Received authentication response");
rtllib_rx_auth_resp(ieee, skb);
} else if (ieee->iw_mode == IW_MODE_MASTER) { } else if (ieee->iw_mode == IW_MODE_MASTER) {
rtllib_rx_auth_rq(ieee, skb); rtllib_rx_auth_rq(ieee, skb);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment