OSDN Git Service

ASoC: soc-core: fix always-false condition
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Fri, 16 Apr 2021 19:11:42 +0000 (14:11 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 19 Apr 2021 13:03:31 +0000 (14:03 +0100)
cppcheck warning:

sound/soc/soc-core.c:2784:6: style: Condition '!num_routes' is always
false [knownConditionTrueFalse]
 if (!num_routes) {
     ^
sound/soc/soc-core.c:2777:17: note: Assuming that condition
'num_routes<0' is not redundant
 if (num_routes < 0 || num_routes & 1) {
                ^
sound/soc/soc-core.c:2783:2: note: Compound assignment '/=', assigned
value is 0
 num_routes /= 2;
 ^
sound/soc/soc-core.c:2784:6: note: Condition '!num_routes' is always
false
 if (!num_routes) {
     ^

The documentation for of_property_count_string reads

"
 * Returns the number of strings on
 * success, -EINVAL if the property does not exist, -ENODATA if property
 * does not have a value, and -EILSEQ if the string is not null-terminated
 * within the length of the property data.
"

Since the case for num_routes == 0 is not possible, let's remove this
test.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Link: https://lore.kernel.org/r/20210416191144.27006-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index fb6b3a6..1c0904a 100644 (file)
@@ -2785,11 +2785,6 @@ int snd_soc_of_parse_audio_routing(struct snd_soc_card *card,
                return -EINVAL;
        }
        num_routes /= 2;
-       if (!num_routes) {
-               dev_err(card->dev, "ASoC: Property '%s's length is zero\n",
-                       propname);
-               return -EINVAL;
-       }
 
        routes = devm_kcalloc(card->dev, num_routes, sizeof(*routes),
                              GFP_KERNEL);