diff options
| author | Andrew Goodbody <[email protected]> | 2025-07-25 11:41:12 +0100 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-08-11 15:11:22 -0600 |
| commit | bd644d9613ee0cdc3bd2ac3bc7bcc52b09d821e7 (patch) | |
| tree | 43231e4172df1174023d94ecd0a3cbf048a14370 | |
| parent | 493c3da3ac530229ca4c4caadd5df041f6c25eb2 (diff) | |
clk: cdce9xx: Fix use of dev_read_u32_default
The function dev_read_u32_default does not return an error and the
variable 'val' is unsigned so testing for >= 0 will always be true. It
looks like the code was attempting to return -1 if xtal-load-pf was not
present but that cannot work. Instead use dev_read_u32 which returns an
error code separately from writing the value into the passed pointer.
This issue was found by Smatch.
Signed-off-by: Andrew Goodbody <[email protected]>
Fixes: 260777fc2333 ("clk: cdce9xx: add support for cdce9xx clock synthesizer")
Acked-by: Quentin Schulz <[email protected]>
| -rw-r--r-- | drivers/clk/clk-cdce9xx.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/clk/clk-cdce9xx.c b/drivers/clk/clk-cdce9xx.c index e5f74e714d5..996cc30683e 100644 --- a/drivers/clk/clk-cdce9xx.c +++ b/drivers/clk/clk-cdce9xx.c @@ -116,8 +116,7 @@ static int cdce9xx_clk_probe(struct udevice *dev) ret = clk_get_by_index(dev, 0, &clk); data->xtal_rate = clk_get_rate(&clk); - val = dev_read_u32_default(dev, "xtal-load-pf", -1); - if (val >= 0) + if (!dev_read_u32(dev, "xtal-load-pf", &val)) cdce9xx_reg_write(dev, CDCE9XX_REG_XCSEL, val << 3); return 0; |
