summary refs log tree commit diff
path: root/net
diff options
context:
space:
mode:
authorJohn Linville <linville@tuxdriver.com>2015-06-24 11:42:25 -0400
committerJohannes Berg <johannes.berg@intel.com>2015-07-17 15:38:27 +0200
commit841b351cf98e0b4ef25f6459d35251e63c0a7a49 (patch)
treeb6f60880d931f5c1fbca07dfe67f626df1b4567f /net
parent33d8783c58427683b533664f67f8c4378ed64495 (diff)
downloadlinux-841b351cf98e0b4ef25f6459d35251e63c0a7a49.tar.gz
wireless: remove superfluous if statement in regulatory code
Commit eeca9fce1d71 ('cfg80211: Schedule timeout for all CRDA calls')
left behind a superfluous check after it removed some earlier code.

In reg_process_hint, the test of "treatment == REG_REQ_IGNORE ||
treatment == REG_REQ_ALREADY_SET" is superfluous because the code in the
if-then branch is identical to the code after the if statement.

Coverity CID #1295939

I also removed the unnecessary assignment of treatment in this case,
and added a comment reminding any future patch authors to ensure that
treatment is properly assigned before it is used after the switch.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/wireless/reg.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index d359e0610198..62d8ea42dbfb 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -2079,10 +2079,7 @@ static void reg_process_hint(struct regulatory_request *reg_request)
 		reg_process_hint_core(reg_request);
 		return;
 	case NL80211_REGDOM_SET_BY_USER:
-		treatment = reg_process_hint_user(reg_request);
-		if (treatment == REG_REQ_IGNORE ||
-		    treatment == REG_REQ_ALREADY_SET)
-			return;
+		reg_process_hint_user(reg_request);
 		return;
 	case NL80211_REGDOM_SET_BY_DRIVER:
 		if (!wiphy)
@@ -2099,7 +2096,9 @@ static void reg_process_hint(struct regulatory_request *reg_request)
 		goto out_free;
 	}
 
-	/* This is required so that the orig_* parameters are saved */
+	/* This is required so that the orig_* parameters are saved.
+	 * NOTE: treatment must be set for any case that reaches here!
+	 */
 	if (treatment == REG_REQ_ALREADY_SET && wiphy &&
 	    wiphy->regulatory_flags & REGULATORY_STRICT_REG) {
 		wiphy_update_regulatory(wiphy, reg_request->initiator);