diff options
author | 2017-04-06 16:31:41 -0700 | |
---|---|---|
committer | 2017-04-13 08:27:02 +0200 | |
commit | 93f56de259376d7e4fff2b2d104082e1fa66e237 (patch) | |
tree | 726d6cde5f35ff7e17d59f8b164e4aab26f846bf /net/mac80211/rate.c | |
parent | cfg80211: add intro to documentation (diff) | |
download | linux-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>
Diffstat (limited to 'net/mac80211/rate.c')
-rw-r--r-- | net/mac80211/rate.c | 6 |
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; |