]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
cfg80211: make rdev assignment clearer in nl80211_testmode_dump()
authorLuca Coelho <luciano.coelho@intel.com>
Tue, 7 Feb 2017 20:13:56 +0000 (22:13 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 8 Feb 2017 09:05:44 +0000 (10:05 +0100)
Avoid assigning rdev to NULL when we already have it and getting it
again from the wiphy index, by moving this code to relevant if block.

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

index 63dfa60a29ef940cc4a2a0ca92a98bd5757b8dbe..a7b4318f735d1b5fefb62be901b00f609a2fd3a5 100644 (file)
@@ -8585,6 +8585,12 @@ static int nl80211_testmode_dump(struct sk_buff *skb,
                 * so we need to offset by 1.
                 */
                phy_idx = cb->args[0] - 1;
+
+               rdev = cfg80211_rdev_by_wiphy_idx(phy_idx);
+               if (!rdev) {
+                       err = -ENOENT;
+                       goto out_err;
+               }
        } else {
                struct nlattr **attrbuf = genl_family_attrbuf(&nl80211_fam);
 
@@ -8599,7 +8605,6 @@ static int nl80211_testmode_dump(struct sk_buff *skb,
                        goto out_err;
                }
                phy_idx = rdev->wiphy_idx;
-               rdev = NULL;
 
                if (attrbuf[NL80211_ATTR_TESTDATA])
                        cb->args[1] = (long)attrbuf[NL80211_ATTR_TESTDATA];
@@ -8610,12 +8615,6 @@ static int nl80211_testmode_dump(struct sk_buff *skb,
                data_len = nla_len((void *)cb->args[1]);
        }
 
-       rdev = cfg80211_rdev_by_wiphy_idx(phy_idx);
-       if (!rdev) {
-               err = -ENOENT;
-               goto out_err;
-       }
-
        if (!rdev->ops->testmode_dump) {
                err = -EOPNOTSUPP;
                goto out_err;