nl80211: reindent some sched scan code
authorJohannes Berg <johannes.berg@intel.com>
Mon, 8 Apr 2019 11:40:47 +0000 (13:40 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 8 Apr 2019 11:40:47 +0000 (13:40 +0200)
The sched scan code here is really deep - avoid one level
of indentation by short-circuiting the loop instead of
putting everything into the if block.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c

index 33408ba..5c49d11 100644 (file)
@@ -7776,43 +7776,46 @@ nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev,
                                goto out_free;
                        ssid = tb[NL80211_SCHED_SCAN_MATCH_ATTR_SSID];
                        bssid = tb[NL80211_SCHED_SCAN_MATCH_ATTR_BSSID];
-                       if (ssid || bssid) {
-                               if (WARN_ON(i >= n_match_sets)) {
-                                       /* this indicates a programming error,
-                                        * the loop above should have verified
-                                        * things properly
-                                        */
+
+                       if (!ssid && !bssid) {
+                               i++;
+                               continue;
+                       }
+
+                       if (WARN_ON(i >= n_match_sets)) {
+                               /* this indicates a programming error,
+                                * the loop above should have verified
+                                * things properly
+                                */
+                               err = -EINVAL;
+                               goto out_free;
+                       }
+
+                       if (ssid) {
+                               if (nla_len(ssid) > IEEE80211_MAX_SSID_LEN) {
                                        err = -EINVAL;
                                        goto out_free;
                                }
-
-                               if (ssid) {
-                                       if (nla_len(ssid) > IEEE80211_MAX_SSID_LEN) {
-                                               err = -EINVAL;
-                                               goto out_free;
-                                       }
-                                       memcpy(request->match_sets[i].ssid.ssid,
-                                              nla_data(ssid), nla_len(ssid));
-                                       request->match_sets[i].ssid.ssid_len =
-                                               nla_len(ssid);
-                               }
-                               if (bssid) {
-                                       if (nla_len(bssid) != ETH_ALEN) {
-                                               err = -EINVAL;
-                                               goto out_free;
-                                       }
-                                       memcpy(request->match_sets[i].bssid,
-                                              nla_data(bssid), ETH_ALEN);
+                               memcpy(request->match_sets[i].ssid.ssid,
+                                      nla_data(ssid), nla_len(ssid));
+                               request->match_sets[i].ssid.ssid_len =
+                                       nla_len(ssid);
+                       }
+                       if (bssid) {
+                               if (nla_len(bssid) != ETH_ALEN) {
+                                       err = -EINVAL;
+                                       goto out_free;
                                }
+                               memcpy(request->match_sets[i].bssid,
+                                      nla_data(bssid), ETH_ALEN);
+                       }
 
-                               /* special attribute - old implementation w/a */
+                       /* special attribute - old implementation w/a */
+                       request->match_sets[i].rssi_thold = default_match_rssi;
+                       rssi = tb[NL80211_SCHED_SCAN_MATCH_ATTR_RSSI];
+                       if (rssi)
                                request->match_sets[i].rssi_thold =
-                                       default_match_rssi;
-                               rssi = tb[NL80211_SCHED_SCAN_MATCH_ATTR_RSSI];
-                               if (rssi)
-                                       request->match_sets[i].rssi_thold =
-                                               nla_get_s32(rssi);
-                       }
+                                       nla_get_s32(rssi);
                        i++;
                }