diff options
author | Luca Coelho <luciano.coelho@intel.com> | 2017-02-07 23:13:56 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2017-02-08 12:05:44 +0300 |
commit | a4956dca0764569640374ae1afb8be54a23201b8 (patch) | |
tree | 0f4b0423b09a53d0dfe9117785634e5f98b5b09c | |
parent | b2347a322d1f6f93f1a39fe17ed08628fc959351 (diff) | |
download | linux-a4956dca0764569640374ae1afb8be54a23201b8.tar.xz |
cfg80211: make rdev assignment clearer in nl80211_testmode_dump()
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>
-rw-r--r-- | net/wireless/nl80211.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 63dfa60a29ef..a7b4318f735d 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -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; |