ASoC: cs35l56: Fix an unsigned comparison which can never be negative
authorJiapeng Chong <jiapeng.chong@linux.alibaba.com>
Fri, 24 Mar 2023 02:23:03 +0000 (10:23 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 24 Mar 2023 12:15:24 +0000 (12:15 +0000)
The variable 'rv' is defined as unsigned type, so the following if
statement is invalid, we can modify the type of rv to int.
if (rv < 0) {
dev_err(cs35l56->dev, "irq: failed to get pm_runtime:
%d\n", rv);
goto err_unlock;
}

./sound/soc/codecs/cs35l56.c:333:5-7: WARNING: Unsigned expression compared with zero: rv < 0.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4599
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230324022303.121485-1-jiapeng.chong@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs35l56.c

index 90fc79b5666d917164a9cd65d128a6041f0c5d95..d97b465f0d3ceb7cf094bdb2166ba12cb6e49e9f 100644 (file)
@@ -321,7 +321,9 @@ irqreturn_t cs35l56_irq(int irq, void *data)
        struct cs35l56_private *cs35l56 = data;
        unsigned int status1 = 0, status8 = 0, status20 = 0;
        unsigned int mask1, mask8, mask20;
-       unsigned int rv, val;
+       unsigned int val;
+       int rv;
+
        irqreturn_t ret = IRQ_NONE;
 
        if (!cs35l56->init_done)