aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Kulikowski <mateusz.kulikowski@gmail.com>2015-03-31 18:24:35 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-04-03 09:29:30 -0400
commitf7567e20708ed4129ccec1a21c4c55b9725b66d0 (patch)
tree2e3b99dda19c50f432243ddcaeeb7d655ef81d81
parente8f05b0b01ea1593c8cc6311704c227fb0d08b04 (diff)
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>
-rw-r--r--drivers/staging/rtl8192e/rtllib_softmac.c89
1 files changed, 45 insertions, 44 deletions
diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c
index 9266bc647bc4..9a4179cb926c 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac.c
@@ -2322,57 +2322,58 @@ static void rtllib_rx_auth_resp(struct rtllib_device *ieee, struct sk_buff *skb)
2322 bool bSupportNmode = true, bHalfSupportNmode = false; 2322 bool bSupportNmode = true, bHalfSupportNmode = false;
2323 2323
2324 errcode = auth_parse(skb, &challenge, &chlen); 2324 errcode = auth_parse(skb, &challenge, &chlen);
2325 if (0 == errcode) {
2326 if (ieee->open_wep || !challenge) {
2327 ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED;
2328 ieee->softmac_stats.rx_auth_rs_ok++;
2329 if (!(ieee->pHTInfo->IOTAction &
2330 HT_IOT_ACT_PURE_N_MODE)) {
2331 if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) {
2332 if (IsHTHalfNmodeAPs(ieee)) {
2333 bSupportNmode = true;
2334 bHalfSupportNmode = true;
2335 } else {
2336 bSupportNmode = false;
2337 bHalfSupportNmode = false;
2338 }
2339 }
2340 }
2341 /* Dummy wirless mode setting to avoid
2342 * encryption issue */
2343 if (bSupportNmode) {
2344 ieee->SetWirelessMode(ieee->dev,
2345 ieee->current_network.mode);
2346 } else {
2347 /*TODO*/
2348 ieee->SetWirelessMode(ieee->dev,
2349 IEEE_G);
2350 }
2351 2325
2352 if (ieee->current_network.mode == 2326 if (errcode) {
2353 IEEE_N_24G && bHalfSupportNmode) {
2354 netdev_info(ieee->dev,
2355 "======>enter half N mode\n");
2356 ieee->bHalfWirelessN24GMode =
2357 true;
2358 } else
2359 ieee->bHalfWirelessN24GMode =
2360 false;
2361
2362 rtllib_associate_step2(ieee);
2363 } else {
2364 rtllib_auth_challenge(ieee, challenge,
2365 chlen);
2366 }
2367 } else {
2368 ieee->softmac_stats.rx_auth_rs_err++; 2327 ieee->softmac_stats.rx_auth_rs_err++;
2369 RTLLIB_DEBUG_MGMT("Authentication respose status code 0x%x", 2328 RTLLIB_DEBUG_MGMT("Authentication respose status code 0x%x",
2370 errcode); 2329 errcode);
2371 2330
2372 netdev_info(ieee->dev, 2331 netdev_info(ieee->dev,
2373 "Authentication respose status code 0x%x", 2332 "Authentication respose status code 0x%x", errcode);
2374 errcode);
2375 rtllib_associate_abort(ieee); 2333 rtllib_associate_abort(ieee);
2334 return;
2335 }
2336
2337 if (ieee->open_wep || !challenge) {
2338 ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED;
2339 ieee->softmac_stats.rx_auth_rs_ok++;
2340 if (!(ieee->pHTInfo->IOTAction &
2341 HT_IOT_ACT_PURE_N_MODE)) {
2342 if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) {
2343 if (IsHTHalfNmodeAPs(ieee)) {
2344 bSupportNmode = true;
2345 bHalfSupportNmode = true;
2346 } else {
2347 bSupportNmode = false;
2348 bHalfSupportNmode = false;
2349 }
2350 }
2351 }
2352 /* Dummy wirless mode setting to avoid
2353 * encryption issue */
2354 if (bSupportNmode) {
2355 ieee->SetWirelessMode(ieee->dev,
2356 ieee->current_network.mode);
2357 } else {
2358 /*TODO*/
2359 ieee->SetWirelessMode(ieee->dev,
2360 IEEE_G);
2361 }
2362
2363 if (ieee->current_network.mode ==
2364 IEEE_N_24G && bHalfSupportNmode) {
2365 netdev_info(ieee->dev,
2366 "======>enter half N mode\n");
2367 ieee->bHalfWirelessN24GMode =
2368 true;
2369 } else
2370 ieee->bHalfWirelessN24GMode =
2371 false;
2372
2373 rtllib_associate_step2(ieee);
2374 } else {
2375 rtllib_auth_challenge(ieee, challenge,
2376 chlen);
2376 } 2377 }
2377} 2378}
2378 2379