summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Kaehlcke <mka@chromium.org>2017-04-06 16:31:41 -0700
committerJohannes Berg <johannes.berg@intel.com>2017-04-13 08:27:02 +0200
commit93f56de259376d7e4fff2b2d104082e1fa66e237 (patch)
tree726d6cde5f35ff7e17d59f8b164e4aab26f846bf
parenta339e4c226c0f2ea0c138e9ffc419874d370f57b (diff)
downloadlinux-93f56de259376d7e4fff2b2d104082e1fa66e237.tar.gz
linux-93f56de259376d7e4fff2b2d104082e1fa66e237.tar.bz2
linux-93f56de259376d7e4fff2b2d104082e1fa66e237.zip
mac80211: Fix clang warning about constant operand in logical operation
When clang detects a non-boolean constant in a logical operation it generates a 'constant-logical-operand' warning. In ieee80211_try_rate_control_ops_get() the result of strlen(<const str>) is used in a logical operation, clang resolves the expression to an (integer) constant at compile time when clang's builtin strlen function is used. Change the condition to check for strlen() > 0 to make the constant operand boolean and thus avoid the warning. Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/rate.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
index 3bddd9bbb76f..9d7a1cd949fb 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -174,9 +174,11 @@ ieee80211_rate_control_ops_get(const char *name)
/* try default if specific alg requested but not found */
ops = ieee80211_try_rate_control_ops_get(ieee80211_default_rc_algo);
- /* try built-in one if specific alg requested but not found */
- if (!ops && strlen(CONFIG_MAC80211_RC_DEFAULT))
+ /* Note: check for > 0 is intentional to avoid clang warning */
+ if (!ops && (strlen(CONFIG_MAC80211_RC_DEFAULT) > 0))
+ /* try built-in one if specific alg requested but not found */
ops = ieee80211_try_rate_control_ops_get(CONFIG_MAC80211_RC_DEFAULT);
+
kernel_param_unlock(THIS_MODULE);
return ops;