mirror of https://gitee.com/openkylin/linux.git
staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp()
Return from rtllib_rx_auth_resp() if auth_parse() fails. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e8f05b0b01
commit
f7567e2070
|
@ -2322,57 +2322,58 @@ static void rtllib_rx_auth_resp(struct rtllib_device *ieee, struct sk_buff *skb)
|
|||
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 {
|
||||
if (errcode) {
|
||||
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);
|
||||
"Authentication respose status code 0x%x", errcode);
|
||||
rtllib_associate_abort(ieee);
|
||||
return;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue