Skip to content

Commit

Permalink
staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Mateusz Kulikowski authored and Greg Kroah-Hartman committed Apr 3, 2015
1 parent e8f05b0 commit f7567e2
Showing 1 changed file with 45 additions and 44 deletions.
89 changes: 45 additions & 44 deletions drivers/staging/rtl8192e/rtllib_softmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}

Expand Down

0 comments on commit f7567e2

Please sign in to comment.