--- Begin Message ---
- To: Jiapeng Chong <jiapeng.chong@xxxxxxxxxxxxxxxxx>, <broonie@xxxxxxxxxx>
- Subject: Re: [PATCH] ASoC: cs35l56: Fix an unsigned comparison which can never be negative
- From: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 24 Mar 2023 10:29:15 +0000
- Cc: tiwai@xxxxxxxx, alsa-devel@xxxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Abaci Robot <abaci@xxxxxxxxxxxxxxxxx>
- In-reply-to: <20230324022303.121485-1-jiapeng.chong@linux.alibaba.com>
- References: <20230324022303.121485-1-jiapeng.chong@linux.alibaba.com>
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0
On 24/03/2023 02:23, Jiapeng Chong wrote:
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@xxxxxxxxxxxxxxxxx>
Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4599
Signed-off-by: Jiapeng Chong <jiapeng.chong@xxxxxxxxxxxxxxxxx>
---
sound/soc/codecs/cs35l56.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/cs35l56.c b/sound/soc/codecs/cs35l56.c
index 90fc79b5666d..d97b465f0d3c 100644
--- a/sound/soc/codecs/cs35l56.c
+++ b/sound/soc/codecs/cs35l56.c
@@ -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)
Reviewed-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
--- End Message ---