ath6kl: Return error from wmi.c instead of -EIO in ath6kl_cfg80211_scan
authorJouni Malinen <jouni@qca.qualcomm.com>
Tue, 30 Aug 2011 18:58:10 +0000 (21:58 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 31 Aug 2011 07:13:02 +0000 (10:13 +0300)
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/cfg80211.c

index 2136899561df83adfe0d1b53116d2f2bab37830a..e867a7a5c91d81da22a911f6f3c344e6421f82cc 100644 (file)
@@ -759,12 +759,13 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
                return -EIO;
 
        if (!ar->usr_bss_filter) {
-               if (ath6kl_wmi_bssfilter_cmd(ar->wmi,
-                                            (test_bit(CONNECTED, &ar->flag) ?
-                                            ALL_BUT_BSS_FILTER :
-                                            ALL_BSS_FILTER), 0) != 0) {
+               ret = ath6kl_wmi_bssfilter_cmd(
+                       ar->wmi,
+                       (test_bit(CONNECTED, &ar->flag) ?
+                        ALL_BUT_BSS_FILTER : ALL_BSS_FILTER), 0);
+               if (ret) {
                        ath6kl_err("couldn't set bss filtering\n");
-                       return -EIO;
+                       return ret;
                }
        }
 
@@ -807,11 +808,10 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
                        channels[i] = request->channels[i]->center_freq;
        }
 
-       if (ath6kl_wmi_startscan_cmd(ar->wmi, WMI_LONG_SCAN, 0,
-                                    false, 0, 0, n_channels, channels) != 0) {
+       ret = ath6kl_wmi_startscan_cmd(ar->wmi, WMI_LONG_SCAN, 0,
+                                      false, 0, 0, n_channels, channels);
+       if (ret)
                ath6kl_err("wmi_startscan_cmd failed\n");
-               ret = -EIO;
-       }
 
        ar->scan_req = request;