diff options
author | Mateusz Kulikowski <mateusz.kulikowski@gmail.com> | 2015-03-31 18:24:34 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-04-03 09:29:30 -0400 |
commit | e8f05b0b01ea1593c8cc6311704c227fb0d08b04 (patch) | |
tree | 00dda89167ecb3acb13e9622956a942b22b1cf11 /drivers/staging | |
parent | 61dbdf36f2f1083a0b224afbb0feb13ad44792a5 (diff) |
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>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/rtl8192e/rtllib_softmac.c | 112 |
1 files changed, 58 insertions, 54 deletions
diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c index d3fc5a45dbbc..9266bc647bc4 100644 --- a/drivers/staging/rtl8192e/rtllib_softmac.c +++ b/drivers/staging/rtl8192e/rtllib_softmac.c | |||
@@ -2314,73 +2314,77 @@ inline int rtllib_rx_assoc_resp(struct rtllib_device *ieee, struct sk_buff *skb, | |||
2314 | return 0; | 2314 | return 0; |
2315 | } | 2315 | } |
2316 | 2316 | ||
2317 | inline int rtllib_rx_auth(struct rtllib_device *ieee, struct sk_buff *skb, | 2317 | static void rtllib_rx_auth_resp(struct rtllib_device *ieee, struct sk_buff *skb) |
2318 | struct rtllib_rx_stats *rx_stats) | ||
2319 | { | 2318 | { |
2320 | u16 errcode; | 2319 | u16 errcode; |
2321 | u8 *challenge; | 2320 | u8 *challenge; |
2322 | int chlen = 0; | 2321 | int chlen = 0; |
2323 | bool bSupportNmode = true, bHalfSupportNmode = false; | 2322 | bool bSupportNmode = true, bHalfSupportNmode = false; |
2324 | 2323 | ||
2325 | if (ieee->softmac_features & IEEE_SOFTMAC_ASSOCIATE) { | 2324 | errcode = auth_parse(skb, &challenge, &chlen); |
2326 | if (ieee->state == RTLLIB_ASSOCIATING_AUTHENTICATING && | 2325 | if (0 == errcode) { |
2327 | (ieee->iw_mode == IW_MODE_INFRA)) { | 2326 | if (ieee->open_wep || !challenge) { |
2328 | RTLLIB_DEBUG_MGMT("Received authentication response"); | 2327 | ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED; |
2329 | 2328 | ieee->softmac_stats.rx_auth_rs_ok++; | |
2330 | errcode = auth_parse(skb, &challenge, &chlen); | 2329 | if (!(ieee->pHTInfo->IOTAction & |
2331 | if (0 == errcode) { | 2330 | HT_IOT_ACT_PURE_N_MODE)) { |
2332 | if (ieee->open_wep || !challenge) { | 2331 | if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) { |
2333 | ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED; | 2332 | if (IsHTHalfNmodeAPs(ieee)) { |
2334 | ieee->softmac_stats.rx_auth_rs_ok++; | 2333 | bSupportNmode = true; |
2335 | if (!(ieee->pHTInfo->IOTAction & | 2334 | bHalfSupportNmode = true; |
2336 | HT_IOT_ACT_PURE_N_MODE)) { | ||
2337 | if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) { | ||
2338 | if (IsHTHalfNmodeAPs(ieee)) { | ||
2339 | bSupportNmode = true; | ||
2340 | bHalfSupportNmode = true; | ||
2341 | } else { | ||
2342 | bSupportNmode = false; | ||
2343 | bHalfSupportNmode = false; | ||
2344 | } | ||
2345 | } | ||
2346 | } | ||
2347 | /* Dummy wirless mode setting to avoid | ||
2348 | * encryption issue */ | ||
2349 | if (bSupportNmode) { | ||
2350 | ieee->SetWirelessMode(ieee->dev, | ||
2351 | ieee->current_network.mode); | ||
2352 | } else { | 2335 | } else { |
2353 | /*TODO*/ | 2336 | bSupportNmode = false; |
2354 | ieee->SetWirelessMode(ieee->dev, | 2337 | bHalfSupportNmode = false; |
2355 | IEEE_G); | ||
2356 | } | 2338 | } |
2357 | |||
2358 | if (ieee->current_network.mode == | ||
2359 | IEEE_N_24G && bHalfSupportNmode) { | ||
2360 | netdev_info(ieee->dev, | ||
2361 | "======>enter half N mode\n"); | ||
2362 | ieee->bHalfWirelessN24GMode = | ||
2363 | true; | ||
2364 | } else | ||
2365 | ieee->bHalfWirelessN24GMode = | ||
2366 | false; | ||
2367 | |||
2368 | rtllib_associate_step2(ieee); | ||
2369 | } else { | ||
2370 | rtllib_auth_challenge(ieee, challenge, | ||
2371 | chlen); | ||
2372 | } | 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); | ||
2373 | } else { | 2346 | } else { |
2374 | ieee->softmac_stats.rx_auth_rs_err++; | 2347 | /*TODO*/ |
2375 | RTLLIB_DEBUG_MGMT("Authentication respose status code 0x%x", | 2348 | ieee->SetWirelessMode(ieee->dev, |
2376 | errcode); | 2349 | IEEE_G); |
2350 | } | ||
2377 | 2351 | ||
2352 | if (ieee->current_network.mode == | ||
2353 | IEEE_N_24G && bHalfSupportNmode) { | ||
2378 | netdev_info(ieee->dev, | 2354 | netdev_info(ieee->dev, |
2379 | "Authentication respose status code 0x%x", | 2355 | "======>enter half N mode\n"); |
2380 | errcode); | 2356 | ieee->bHalfWirelessN24GMode = |
2381 | rtllib_associate_abort(ieee); | 2357 | true; |
2382 | } | 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++; | ||
2369 | RTLLIB_DEBUG_MGMT("Authentication respose status code 0x%x", | ||
2370 | errcode); | ||
2371 | |||
2372 | netdev_info(ieee->dev, | ||
2373 | "Authentication respose status code 0x%x", | ||
2374 | errcode); | ||
2375 | rtllib_associate_abort(ieee); | ||
2376 | } | ||
2377 | } | ||
2383 | 2378 | ||
2379 | inline int rtllib_rx_auth(struct rtllib_device *ieee, struct sk_buff *skb, | ||
2380 | struct rtllib_rx_stats *rx_stats) | ||
2381 | { | ||
2382 | |||
2383 | if (ieee->softmac_features & IEEE_SOFTMAC_ASSOCIATE) { | ||
2384 | if (ieee->state == RTLLIB_ASSOCIATING_AUTHENTICATING && | ||
2385 | (ieee->iw_mode == IW_MODE_INFRA)) { | ||
2386 | RTLLIB_DEBUG_MGMT("Received authentication response"); | ||
2387 | rtllib_rx_auth_resp(ieee, skb); | ||
2384 | } else if (ieee->iw_mode == IW_MODE_MASTER) { | 2388 | } else if (ieee->iw_mode == IW_MODE_MASTER) { |
2385 | rtllib_rx_auth_rq(ieee, skb); | 2389 | rtllib_rx_auth_rq(ieee, skb); |
2386 | } | 2390 | } |