mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-08-05 13:32:07 +00:00
staging: rtl8192e: Divide rtllib_rx_auth()
Move authentication response processing to rtllib_rx_auth_resp() function. No logic is affected. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
61dbdf36f2
commit
e8f05b0b01
1 changed files with 61 additions and 57 deletions
|
@ -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;
|
||||||
|
|
||||||
|
errcode = auth_parse(skb, &challenge, &chlen);
|
||||||
|
if (0 == errcode) {
|
||||||
|
if (ieee->open_wep || !challenge) {
|
||||||
|
ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED;
|
||||||
|
ieee->softmac_stats.rx_auth_rs_ok++;
|
||||||
|
if (!(ieee->pHTInfo->IOTAction &
|
||||||
|
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 {
|
||||||
|
/*TODO*/
|
||||||
|
ieee->SetWirelessMode(ieee->dev,
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
} 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->softmac_features & IEEE_SOFTMAC_ASSOCIATE) {
|
||||||
if (ieee->state == RTLLIB_ASSOCIATING_AUTHENTICATING &&
|
if (ieee->state == RTLLIB_ASSOCIATING_AUTHENTICATING &&
|
||||||
(ieee->iw_mode == IW_MODE_INFRA)) {
|
(ieee->iw_mode == IW_MODE_INFRA)) {
|
||||||
RTLLIB_DEBUG_MGMT("Received authentication response");
|
RTLLIB_DEBUG_MGMT("Received authentication response");
|
||||||
|
rtllib_rx_auth_resp(ieee, skb);
|
||||||
errcode = auth_parse(skb, &challenge, &chlen);
|
|
||||||
if (0 == errcode) {
|
|
||||||
if (ieee->open_wep || !challenge) {
|
|
||||||
ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED;
|
|
||||||
ieee->softmac_stats.rx_auth_rs_ok++;
|
|
||||||
if (!(ieee->pHTInfo->IOTAction &
|
|
||||||
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 {
|
|
||||||
/*TODO*/
|
|
||||||
ieee->SetWirelessMode(ieee->dev,
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
} 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
} 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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue