Signed-off-by: Jason Cooper <[email protected]>
---
 drivers/staging/brcm80211/brcmfmac/wl_iw.c |  286 +++++++++++++++++-----------
 1 files changed, 177 insertions(+), 109 deletions(-)

diff --git a/drivers/staging/brcm80211/brcmfmac/wl_iw.c 
b/drivers/staging/brcm80211/brcmfmac/wl_iw.c
index 118a7a1..afadfaf 100644
--- a/drivers/staging/brcm80211/brcmfmac/wl_iw.c
+++ b/drivers/staging/brcm80211/brcmfmac/wl_iw.c
@@ -342,7 +342,8 @@ wl_iw_config_commit(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCSIWCOMMIT\n", dev->name));
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_SSID, &ssid, sizeof(ssid))))
+       error = dev_wlc_ioctl(dev, WLC_GET_SSID, &ssid, sizeof(ssid));
+       if (error)
                return error;
 
        ssid.SSID_len = dtoh32(ssid.SSID_len);
@@ -351,7 +352,8 @@ wl_iw_config_commit(struct net_device *dev,
                return 0;
 
        bzero(&bssid, sizeof(struct sockaddr));
-       if ((error = dev_wlc_ioctl(dev, WLC_REASSOC, &bssid, ETHER_ADDR_LEN))) {
+       error = dev_wlc_ioctl(dev, WLC_REASSOC, &bssid, ETHER_ADDR_LEN);
+       if (error) {
                WL_ERROR(("%s: WLC_REASSOC to %s failed \n", __func__,
                          ssid.SSID));
                return error;
@@ -398,7 +400,8 @@ wl_iw_set_freq(struct net_device *dev,
        }
        chan = htod32(chan);
 
-       if ((error = dev_wlc_ioctl(dev, WLC_SET_CHANNEL, &chan, sizeof(chan))))
+       error = dev_wlc_ioctl(dev, WLC_SET_CHANNEL, &chan, sizeof(chan));
+       if (error)
                return error;
 
        g_wl_iw_params.target_channel = chan;
@@ -414,7 +417,8 @@ wl_iw_get_freq(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCGIWFREQ\n", dev->name));
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_CHANNEL, &ci, sizeof(ci))))
+       error = dev_wlc_ioctl(dev, WLC_GET_CHANNEL, &ci, sizeof(ci));
+       if (error)
                return error;
 
        fwrq->m = dtoh32(ci.hw_channel);
@@ -446,9 +450,14 @@ wl_iw_set_mode(struct net_device *dev,
        infra = htod32(infra);
        ap = htod32(ap);
 
-       if ((error = dev_wlc_ioctl(dev, WLC_SET_INFRA, &infra, sizeof(infra)))
-           || (error = dev_wlc_ioctl(dev, WLC_SET_AP, &ap, sizeof(ap))))
+       error = dev_wlc_ioctl(dev, WLC_SET_INFRA, &infra, sizeof(infra));
+       if (error) {
                return error;
+       } else {
+               error = dev_wlc_ioctl(dev, WLC_SET_AP, &ap, sizeof(ap));
+               if (error)
+                       return error;
+       }
 
        return -EINPROGRESS;
 }
@@ -461,9 +470,14 @@ wl_iw_get_mode(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCGIWMODE\n", dev->name));
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_INFRA, &infra, sizeof(infra)))
-           || (error = dev_wlc_ioctl(dev, WLC_GET_AP, &ap, sizeof(ap))))
+       error = dev_wlc_ioctl(dev, WLC_GET_INFRA, &infra, sizeof(infra));
+       if (error) {
                return error;
+       } else {
+               error = dev_wlc_ioctl(dev, WLC_GET_AP, &ap, sizeof(ap));
+               if (error)
+                       return error;
+       }
 
        infra = dtoh32(infra);
        ap = dtoh32(ap);
@@ -512,9 +526,9 @@ wl_iw_get_range(struct net_device *dev,
        range->min_nwid = range->max_nwid = 0;
 
        list->count = htod32(MAXCHANNEL);
-       if ((error =
-            dev_wlc_ioctl(dev, WLC_GET_VALID_CHANNELS, channels,
-                          (MAXCHANNEL + 1) * 4))) {
+       error = dev_wlc_ioctl(dev, WLC_GET_VALID_CHANNELS, channels,
+                               (MAXCHANNEL + 1) * 4);
+       if (error) {
                kfree(channels);
                return error;
        }
@@ -543,9 +557,9 @@ wl_iw_get_range(struct net_device *dev,
        range->avg_qual.noise = 0x100 - 75;
 #endif
 
-       if ((error =
-            dev_wlc_ioctl(dev, WLC_GET_CURR_RATESET, &rateset,
-                          sizeof(rateset)))) {
+       error = dev_wlc_ioctl(dev, WLC_GET_CURR_RATESET, &rateset,
+                               sizeof(rateset));
+       if (error) {
                kfree(channels);
                return error;
        }
@@ -582,7 +596,8 @@ wl_iw_get_range(struct net_device *dev,
                }
        }
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_PHYTYPE, &i, sizeof(i)))) {
+       error = dev_wlc_ioctl(dev, WLC_GET_PHYTYPE, &i, sizeof(i));
+       if (error) {
                kfree(channels);
                return error;
        }
@@ -788,9 +803,9 @@ wl_iw_set_wap(struct net_device *dev,
        wl_iw_ch_to_chanspec(g_wl_iw_params.target_channel, &join_params,
                             &join_params_size);
 
-       if ((error =
-            dev_wlc_ioctl(dev, WLC_SET_SSID, &join_params,
-                join_params_size))) {
+       error = dev_wlc_ioctl(dev, WLC_SET_SSID, &join_params,
+                               join_params_size);
+       if (error) {
                WL_ERROR(("%s Invalid ioctl data=%d\n", __func__, error));
        }
 
@@ -881,7 +896,8 @@ wl_iw_get_aplist(struct net_device *dev,
                return -ENOMEM;
        memset(list, 0, buflen);
        list->buflen = htod32(buflen);
-       if ((error = dev_wlc_ioctl(dev, WLC_SCAN_RESULTS, list, buflen))) {
+       error = dev_wlc_ioctl(dev, WLC_SCAN_RESULTS, list, buflen);
+       if (error) {
                WL_ERROR(("%d: Scan results error %d\n", __LINE__, error));
                kfree(list);
                return error;
@@ -1288,9 +1304,9 @@ wl_iw_set_scan(struct net_device *dev,
                }
        }
 #endif                         /* WIRELESS_EXT > 17 */
-       if ((error =
-            dev_wlc_ioctl(dev, WLC_SCAN, &g_specific_ssid,
-                          sizeof(g_specific_ssid)))) {
+       error = dev_wlc_ioctl(dev, WLC_SCAN, &g_specific_ssid,
+                               sizeof(g_specific_ssid));
+       if (error) {
                WL_TRACE(("#### Set SCAN for %s failed with %d\n",
                          g_specific_ssid.SSID, error));
                g_scan_specified_ssid = 0;
@@ -1441,7 +1457,8 @@ wl_iw_handle_scanresults_ies(char **event_p, char *end,
                int ptr_len = bi->ie_length;
 
 #ifdef BCMWPA2
-               if ((ie = bcm_parse_tlvs(ptr, ptr_len, DOT11_MNG_RSN_ID))) {
+               ie = bcm_parse_tlvs(ptr, ptr_len, DOT11_MNG_RSN_ID);
+               if (ie) {
                        iwe.cmd = IWEVGENIE;
                        iwe.u.data.length = ie->len + 2;
                        event =
@@ -1582,7 +1599,8 @@ wl_iw_get_scan_prep(wl_scan_results_t *list,
                }
        }
 
-       if ((ret = (event - extra)) < 0) {
+       ret = event - extra;
+       if (ret < 0) {
                WL_ERROR(("==> Wrong size\n"));
                ret = 0;
        }
@@ -1614,7 +1632,8 @@ wl_iw_get_scan(struct net_device *dev,
                return -EINVAL;
        }
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_CHANNEL, &ci, sizeof(ci))))
+       error = dev_wlc_ioctl(dev, WLC_GET_CHANNEL, &ci, sizeof(ci));
+       if (error)
                return error;
        ci.scan_channel = dtoh32(ci.scan_channel);
        if (ci.scan_channel)
@@ -1632,7 +1651,8 @@ wl_iw_get_scan(struct net_device *dev,
 
        memset(list, 0, len);
        list->buflen = htod32(len);
-       if ((error = dev_wlc_ioctl(dev, WLC_SCAN_RESULTS, list, len))) {
+       error = dev_wlc_ioctl(dev, WLC_SCAN_RESULTS, list, len);
+       if (error) {
                WL_ERROR(("%s: %s : Scan_results ERROR %d\n", dev->name,
                          __func__, error));
                dwrq->length = len;
@@ -1917,8 +1937,9 @@ wl_iw_set_essid(struct net_device *dev,
        wl_iw_ch_to_chanspec(g_wl_iw_params.target_channel, &join_params,
                             &join_params_size);
 
-       if ((error =
-            dev_wlc_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size)))
+       error = dev_wlc_ioctl(dev, WLC_SET_SSID, &join_params,
+                               join_params_size);
+       if (error)
                WL_ERROR(("Invalid ioctl data=%d\n", error));
 
        if (g_ssid.SSID_len) {
@@ -1941,7 +1962,8 @@ wl_iw_get_essid(struct net_device *dev,
        if (!extra)
                return -EINVAL;
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_SSID, &ssid, sizeof(ssid)))) {
+       error = dev_wlc_ioctl(dev, WLC_GET_SSID, &ssid, sizeof(ssid));
+       if (error) {
                WL_ERROR(("Error getting the SSID\n"));
                return error;
        }
@@ -2003,9 +2025,9 @@ wl_iw_set_rate(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCSIWRATE\n", dev->name));
 
-       if ((error =
-            dev_wlc_ioctl(dev, WLC_GET_CURR_RATESET, &rateset,
-                          sizeof(rateset))))
+       error = dev_wlc_ioctl(dev, WLC_GET_CURR_RATESET, &rateset,
+                               sizeof(rateset));
+       if (error)
                return error;
 
        rateset.count = dtoh32(rateset.count);
@@ -2035,9 +2057,9 @@ wl_iw_set_rate(struct net_device *dev,
                                break;
                rateset.count = htod32(i);
 
-               if ((error =
-                    dev_wlc_ioctl(dev, WLC_SET_RATESET, &rateset,
-                                  sizeof(rateset))))
+               error = dev_wlc_ioctl(dev, WLC_SET_RATESET, &rateset,
+                                       sizeof(rateset));
+               if (error)
                        return error;
        }
 
@@ -2052,7 +2074,8 @@ wl_iw_get_rate(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCGIWRATE\n", dev->name));
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_RATE, &rate, sizeof(rate))))
+       error = dev_wlc_ioctl(dev, WLC_GET_RATE, &rate, sizeof(rate));
+       if (error)
                return error;
        rate = dtoh32(rate);
        vwrq->value = rate * 500000;
@@ -2075,7 +2098,8 @@ wl_iw_set_rts(struct net_device *dev,
        else
                rts = vwrq->value;
 
-       if ((error = dev_wlc_intvar_set(dev, "rtsthresh", rts)))
+       error = dev_wlc_intvar_set(dev, "rtsthresh", rts);
+       if (error)
                return error;
 
        return 0;
@@ -2089,7 +2113,8 @@ wl_iw_get_rts(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCGIWRTS\n", dev->name));
 
-       if ((error = dev_wlc_intvar_get(dev, "rtsthresh", &rts)))
+       error = dev_wlc_intvar_get(dev, "rtsthresh", &rts);
+       if (error)
                return error;
 
        vwrq->value = rts;
@@ -2114,7 +2139,8 @@ wl_iw_set_frag(struct net_device *dev,
        else
                frag = vwrq->value;
 
-       if ((error = dev_wlc_intvar_set(dev, "fragthresh", frag)))
+       error = dev_wlc_intvar_set(dev, "fragthresh", frag);
+       if (error)
                return error;
 
        return 0;
@@ -2128,7 +2154,8 @@ wl_iw_get_frag(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCGIWFRAG\n", dev->name));
 
-       if ((error = dev_wlc_intvar_get(dev, "fragthresh", &fragthreshold)))
+       error = dev_wlc_intvar_get(dev, "fragthresh", &fragthreshold);
+       if (error)
                return error;
 
        vwrq->value = fragthreshold;
@@ -2151,8 +2178,8 @@ wl_iw_set_txpow(struct net_device *dev,
        disable += WL_RADIO_SW_DISABLE << 16;
 
        disable = htod32(disable);
-       if ((error =
-            dev_wlc_ioctl(dev, WLC_SET_RADIO, &disable, sizeof(disable))))
+       error = dev_wlc_ioctl(dev, WLC_SET_RADIO, &disable, sizeof(disable));
+       if (error)
                return error;
 
        if (disable & WL_RADIO_SW_DISABLE)
@@ -2184,10 +2211,14 @@ wl_iw_get_txpow(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCGIWTXPOW\n", dev->name));
 
-       if ((error =
-            dev_wlc_ioctl(dev, WLC_GET_RADIO, &disable, sizeof(disable)))
-           || (error = dev_wlc_intvar_get(dev, "qtxpower", &txpwrdbm)))
+       error = dev_wlc_ioctl(dev, WLC_GET_RADIO, &disable, sizeof(disable));
+       if (error) {
                return error;
+       } else {
+               error = dev_wlc_intvar_get(dev, "qtxpower", &txpwrdbm);
+               if (error)
+                       return error;
+       }
 
        disable = dtoh32(disable);
        result = (uint8) (txpwrdbm & ~WL_TXPWR_OVERRIDE);
@@ -2225,9 +2256,9 @@ wl_iw_set_retry(struct net_device *dev,
                    || !(vwrq->flags & IW_RETRY_MIN)) {
 #endif
                        lrl = htod32(vwrq->value);
-                       if ((error =
-                            dev_wlc_ioctl(dev, WLC_SET_LRL, &lrl,
-                                          sizeof(lrl))))
+                       error = dev_wlc_ioctl(dev, WLC_SET_LRL, &lrl,
+                                               sizeof(lrl));
+                       if (error)
                                return error;
                }
 #if WIRELESS_EXT > 20
@@ -2240,9 +2271,9 @@ wl_iw_set_retry(struct net_device *dev,
                    || !(vwrq->flags & IW_RETRY_MAX)) {
 #endif
                        srl = htod32(vwrq->value);
-                       if ((error =
-                            dev_wlc_ioctl(dev, WLC_SET_SRL, &srl,
-                                          sizeof(srl))))
+                       error = dev_wlc_ioctl(dev, WLC_SET_SRL, &srl,
+                                               sizeof(srl));
+                       if (error)
                                return error;
                }
        }
@@ -2263,9 +2294,14 @@ wl_iw_get_retry(struct net_device *dev,
        if ((vwrq->flags & IW_RETRY_TYPE) == IW_RETRY_LIFETIME)
                return -EINVAL;
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_LRL, &lrl, sizeof(lrl))) ||
-           (error = dev_wlc_ioctl(dev, WLC_GET_SRL, &srl, sizeof(srl))))
+       error = dev_wlc_ioctl(dev, WLC_GET_LRL, &lrl, sizeof(lrl));
+       if (error) {
                return error;
+       } else {
+               error = dev_wlc_ioctl(dev, WLC_GET_SRL, &srl, sizeof(srl));
+               if (error)
+                       return error;
+       }
 
        lrl = dtoh32(lrl);
        srl = dtoh32(srl);
@@ -2300,9 +2336,9 @@ wl_iw_set_encode(struct net_device *dev,
                for (key.index = 0; key.index < DOT11_MAX_DEFAULT_KEYS;
                     key.index++) {
                        val = htod32(key.index);
-                       if ((error =
-                            dev_wlc_ioctl(dev, WLC_GET_KEY_PRIMARY, &val,
-                                          sizeof(val))))
+                       error = dev_wlc_ioctl(dev, WLC_GET_KEY_PRIMARY, &val,
+                                               sizeof(val));
+                       if (error)
                                return error;
                        val = dtoh32(val);
                        if (val)
@@ -2318,9 +2354,9 @@ wl_iw_set_encode(struct net_device *dev,
 
        if (!extra || !dwrq->length || (dwrq->flags & IW_ENCODE_NOKEY)) {
                val = htod32(key.index);
-               if ((error =
-                    dev_wlc_ioctl(dev, WLC_SET_KEY_PRIMARY, &val,
-                                  sizeof(val))))
+               error = dev_wlc_ioctl(dev, WLC_SET_KEY_PRIMARY, &val,
+                                       sizeof(val));
+               if (error)
                        return error;
        } else {
                key.len = dwrq->length;
@@ -2349,25 +2385,28 @@ wl_iw_set_encode(struct net_device *dev,
                }
 
                swap_key_from_BE(&key);
-               if ((error =
-                    dev_wlc_ioctl(dev, WLC_SET_KEY, &key, sizeof(key))))
+               error = dev_wlc_ioctl(dev, WLC_SET_KEY, &key, sizeof(key));
+               if (error)
                        return error;
        }
 
        val = (dwrq->flags & IW_ENCODE_DISABLED) ? 0 : WEP_ENABLED;
 
-       if ((error = dev_wlc_intvar_get(dev, "wsec", &wsec)))
+       error = dev_wlc_intvar_get(dev, "wsec", &wsec);
+       if (error)
                return error;
 
        wsec &= ~(WEP_ENABLED);
        wsec |= val;
 
-       if ((error = dev_wlc_intvar_set(dev, "wsec", wsec)))
+       error = dev_wlc_intvar_set(dev, "wsec", wsec);
+       if (error)
                return error;
 
        val = (dwrq->flags & IW_ENCODE_RESTRICTED) ? 1 : 0;
        val = htod32(val);
-       if ((error = dev_wlc_ioctl(dev, WLC_SET_AUTH, &val, sizeof(val))))
+       error = dev_wlc_ioctl(dev, WLC_SET_AUTH, &val, sizeof(val));
+       if (error)
                return error;
 
        return 0;
@@ -2389,9 +2428,9 @@ wl_iw_get_encode(struct net_device *dev,
                for (key.index = 0; key.index < DOT11_MAX_DEFAULT_KEYS;
                     key.index++) {
                        val = key.index;
-                       if ((error =
-                            dev_wlc_ioctl(dev, WLC_GET_KEY_PRIMARY, &val,
-                                          sizeof(val))))
+                       error = dev_wlc_ioctl(dev, WLC_GET_KEY_PRIMARY, &val,
+                                               sizeof(val));
+                       if (error)
                                return error;
                        val = dtoh32(val);
                        if (val)
@@ -2403,9 +2442,14 @@ wl_iw_get_encode(struct net_device *dev,
        if (key.index >= DOT11_MAX_DEFAULT_KEYS)
                key.index = 0;
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_WSEC, &wsec, sizeof(wsec))) ||
-           (error = dev_wlc_ioctl(dev, WLC_GET_AUTH, &auth, sizeof(auth))))
+       error = dev_wlc_ioctl(dev, WLC_GET_WSEC, &wsec, sizeof(wsec));
+       if (error) {
                return error;
+       } else {
+               error = dev_wlc_ioctl(dev, WLC_GET_AUTH, &auth, sizeof(auth));
+               if (error)
+                       return error;
+       }
 
        swap_key_to_BE(&key);
 
@@ -2438,7 +2482,8 @@ wl_iw_set_power(struct net_device *dev,
        pm = vwrq->disabled ? PM_OFF : PM_MAX;
 
        pm = htod32(pm);
-       if ((error = dev_wlc_ioctl(dev, WLC_SET_PM, &pm, sizeof(pm))))
+       error = dev_wlc_ioctl(dev, WLC_SET_PM, &pm, sizeof(pm));
+       if (error)
                return error;
 
        return 0;
@@ -2453,7 +2498,8 @@ wl_iw_get_power(struct net_device *dev,
 
        WL_TRACE(("%s: SIOCGIWPOWER\n", dev->name));
 
-       if ((error = dev_wlc_ioctl(dev, WLC_GET_PM, &pm, sizeof(pm))))
+       error = dev_wlc_ioctl(dev, WLC_GET_PM, &pm, sizeof(pm));
+       if (error)
                return error;
 
        pm = dtoh32(pm);
@@ -2749,7 +2795,8 @@ wl_iw_set_wpaauth(struct net_device *dev,
 #endif
                WL_INFORM(("%s: %d: setting wpa_auth to 0x%0x\n", __func__,
                           __LINE__, val));
-               if ((error = dev_wlc_intvar_set(dev, "wpa_auth", val)))
+               error = dev_wlc_intvar_set(dev, "wpa_auth", val);
+               if (error)
                        return error;
                break;
        case IW_AUTH_CIPHER_PAIRWISE:
@@ -2773,28 +2820,30 @@ wl_iw_set_wpaauth(struct net_device *dev,
                        WL_WSEC(("%s: %s: 'Privacy invoked' TRUE but clearing "
                                "wsec, assuming " "we're a WPS enrollee\n",
                                dev->name, __func__));
-                       if ((error =
-                            dev_wlc_intvar_set(dev, "is_WPS_enrollee",
-                                               TRUE))) {
+                       error = dev_wlc_intvar_set(dev, "is_WPS_enrollee",
+                                                       TRUE);
+                       if (error) {
                                WL_WSEC(("Failed to set is_WPS_enrollee\n"));
                                return error;
                        }
                } else if (val) {
-                       if ((error =
-                            dev_wlc_intvar_set(dev, "is_WPS_enrollee",
-                                               FALSE))) {
+                       error = dev_wlc_intvar_set(dev, "is_WPS_enrollee",
+                                                       FALSE);
+                       if (error) {
                                WL_WSEC(("Failed to clear is_WPS_enrollee\n"));
                                return error;
                        }
                }
 
-               if ((error = dev_wlc_intvar_set(dev, "wsec", val)))
+               error = dev_wlc_intvar_set(dev, "wsec", val);
+               if (error)
                        return error;
 
                break;
 
        case IW_AUTH_KEY_MGMT:
-               if ((error = dev_wlc_intvar_get(dev, "wpa_auth", &val)))
+               error = dev_wlc_intvar_get(dev, "wpa_auth", &val);
+               if (error)
                        return error;
 
                if (val & (WPA_AUTH_PSK | WPA_AUTH_UNSPECIFIED)) {
@@ -2813,7 +2862,8 @@ wl_iw_set_wpaauth(struct net_device *dev,
 #endif
                WL_INFORM(("%s: %d: setting wpa_auth to %d\n", __func__,
                           __LINE__, val));
-               if ((error = dev_wlc_intvar_set(dev, "wpa_auth", val)))
+               error = dev_wlc_intvar_set(dev, "wpa_auth", val);
+               if (error)
                        return error;
 
                break;
@@ -2833,15 +2883,19 @@ wl_iw_set_wpaauth(struct net_device *dev,
                        val = 2;
                else
                        error = 1;
-               if (!error && (error = dev_wlc_intvar_set(dev, "auth", val)))
-                       return error;
+               if (!error) {
+                       error = dev_wlc_intvar_set(dev, "auth", val);
+                       if (error)
+                               return error;
+               }
                break;
 
        case IW_AUTH_WPA_ENABLED:
                if (paramval == 0) {
                        iw->pwsec = 0;
                        iw->gwsec = 0;
-                       if ((error = dev_wlc_intvar_get(dev, "wsec", &val)))
+                       error = dev_wlc_intvar_get(dev, "wsec", &val);
+                       if (error)
                                return error;
                        if (val & (TKIP_ENABLED | AES_ENABLED)) {
                                val &= ~(TKIP_ENABLED | AES_ENABLED);
@@ -2874,31 +2928,33 @@ wl_iw_set_wpaauth(struct net_device *dev,
 
                        if (paramval == 0) {
                                iw->privacy_invoked = FALSE;
-                               if ((error =
-                                    dev_wlc_intvar_set(dev, "is_WPS_enrollee",
-                                                       FALSE))) {
+                               error = dev_wlc_intvar_set(dev,
+                                               "is_WPS_enrollee", FALSE);
+                               if (error) {
                                        WL_WSEC(("Failed to clear iovar "
                                                "is_WPS_enrollee\n"));
                                        return error;
                                }
                        } else {
                                iw->privacy_invoked = TRUE;
-                               if ((error =
-                                    dev_wlc_intvar_get(dev, "wsec", &wsec)))
+                               error = dev_wlc_intvar_get(dev, "wsec", &wsec);
+                               if (error)
                                        return error;
 
                                if (!(IW_WSEC_ENABLED(wsec))) {
-                                       if ((error =
-                                            dev_wlc_intvar_set(dev,
-                                               "is_WPS_enrollee", TRUE))) {
+                                       error = dev_wlc_intvar_set(dev,
+                                                       "is_WPS_enrollee",
+                                                       TRUE);
+                                       if (error) {
                                                WL_WSEC(("Failed to set iovar "
                                                "is_WPS_enrollee\n"));
                                                return error;
                                        }
                                } else {
-                                       if ((error =
-                                            dev_wlc_intvar_set(dev,
-                                               "is_WPS_enrollee", FALSE))) {
+                                       error = dev_wlc_intvar_set(dev,
+                                                       "is_WPS_enrollee",
+                                                       FALSE);
+                                       if (error) {
                                                WL_WSEC(("Failed to clear "
                                                        "is_WPS_enrollee\n"));
                                                return error;
@@ -2937,7 +2993,8 @@ wl_iw_get_wpaauth(struct net_device *dev,
 
        switch (paramid) {
        case IW_AUTH_WPA_VERSION:
-               if ((error = dev_wlc_intvar_get(dev, "wpa_auth", &val)))
+               error = dev_wlc_intvar_get(dev, "wpa_auth", &val);
+               if (error)
                        return error;
                if (val & (WPA_AUTH_NONE | WPA_AUTH_DISABLED))
                        paramval = IW_AUTH_WPA_VERSION_DISABLED;
@@ -2969,7 +3026,8 @@ wl_iw_get_wpaauth(struct net_device *dev,
                        paramval = IW_AUTH_CIPHER_NONE;
                break;
        case IW_AUTH_KEY_MGMT:
-               if ((error = dev_wlc_intvar_get(dev, "wpa_auth", &val)))
+               error = dev_wlc_intvar_get(dev, "wpa_auth", &val);
+               if (error)
                        return error;
                if (VAL_PSK(val))
                        paramval = IW_AUTH_KEY_MGMT_PSK;
@@ -2992,7 +3050,8 @@ wl_iw_get_wpaauth(struct net_device *dev,
                break;
 
        case IW_AUTH_80211_AUTH_ALG:
-               if ((error = dev_wlc_intvar_get(dev, "auth", &val)))
+               error = dev_wlc_intvar_get(dev, "auth", &val);
+               if (error)
                        return error;
                if (!val)
                        paramval = IW_AUTH_ALG_OPEN_SYSTEM;
@@ -3000,7 +3059,8 @@ wl_iw_get_wpaauth(struct net_device *dev,
                        paramval = IW_AUTH_ALG_SHARED_KEY;
                break;
        case IW_AUTH_WPA_ENABLED:
-               if ((error = dev_wlc_intvar_get(dev, "wpa_auth", &val)))
+               error = dev_wlc_intvar_get(dev, "wpa_auth", &val);
+               if (error)
                        return error;
                if (val)
                        paramval = TRUE;
@@ -3130,11 +3190,18 @@ int wl_iw_ioctl(struct net_device *dev, struct ifreq 
*rq, int cmd)
 
        WL_TRACE(("\n%s, cmd:%x alled via dhd->do_ioctl()entry point\n",
                  __func__, cmd));
-       if (cmd < SIOCIWFIRST || IW_IOCTL_IDX(cmd) >= ARRAYSIZE(wl_iw_handler)
-           || !(handler = wl_iw_handler[IW_IOCTL_IDX(cmd)])) {
-               WL_ERROR(("%s: error in cmd=%x : not supported\n", __func__,
-                         cmd));
+       if (cmd < SIOCIWFIRST ||
+               IW_IOCTL_IDX(cmd) >= ARRAYSIZE(wl_iw_handler)) {
+               WL_ERROR(("%s: error in cmd=%x : out of range\n", __func__,
+                       cmd));
                return -EOPNOTSUPP;
+       } else {
+               handler = wl_iw_handler[IW_IOCTL_IDX(cmd)];
+               if (!handler) {
+                       WL_ERROR(("%s: error in cmd=%x : not supported\n",
+                               __func__, cmd));
+                       return -EOPNOTSUPP;
+               }
        }
 
        switch (cmd) {
@@ -3203,7 +3270,8 @@ int wl_iw_ioctl(struct net_device *dev, struct ifreq *rq, 
int cmd)
                        __func__, cmd, wrq->u.data.length, max_tokens));
                        return -E2BIG;
                }
-               if (!(extra = kmalloc(max_tokens * token_size, GFP_KERNEL)))
+               extra = kmalloc(max_tokens * token_size, GFP_KERNEL);
+               if (!extra)
                        return -ENOMEM;
 
                if (copy_from_user
@@ -3542,17 +3610,17 @@ wl_iw_get_wireless_stats(struct net_device *dev, struct 
iw_statistics *wstats)
        scb_val_t scb_val;
 
        phy_noise = 0;
-       if ((res =
-            dev_wlc_ioctl(dev, WLC_GET_PHY_NOISE, &phy_noise,
-                          sizeof(phy_noise))))
+       res = dev_wlc_ioctl(dev, WLC_GET_PHY_NOISE, &phy_noise,
+                               sizeof(phy_noise));
+       if (res)
                goto done;
 
        phy_noise = dtoh32(phy_noise);
        WL_TRACE(("wl_iw_get_wireless_stats phy noise=%d\n", phy_noise));
 
        bzero(&scb_val, sizeof(scb_val_t));
-       if ((res =
-            dev_wlc_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t))))
+       res = dev_wlc_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t));
+       if (res)
                goto done;
 
        rssi = dtoh32(scb_val.val);
-- 
1.6.3.3

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to