clk: exynos: Fix always true test
authorAndrew Goodbody <andrew.goodbody@linaro.org>
Wed, 23 Jul 2025 16:04:41 +0000 (17:04 +0100)
committerMinkyu Kang <mk7.kang@samsung.com>
Mon, 1 Sep 2025 07:37:08 +0000 (16:37 +0900)
In exynos7420_peric1_get_rate the variable ret is declared as an
'unsigned int' but is then used to receive the return value of
clk_get_by_index which returns an int. The value of ret is then tested
for being less than 0 which will always fail for an unsigned variable.
Fix this by declaring ret as an 'int' so that the test for the error
condition is valid.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
drivers/clk/exynos/clk-exynos7420.c

index 3aa751b..7de4e68 100644 (file)
@@ -192,7 +192,7 @@ static int exynos7420_clk_top0_probe(struct udevice *dev)
 static ulong exynos7420_peric1_get_rate(struct clk *clk)
 {
        struct clk in_clk;
-       unsigned int ret;
+       int ret;
        unsigned long freq = 0;
 
        switch (clk->id) {