[PATCH 2/2] clk: versaclock: Use IS_ERR check before dereference

Andrew Goodbody andrew.goodbody at linaro.org
Wed Jul 23 17:54:08 CEST 2025


In versaclock_probe vc5->pin_xin may be an error pointer so need to
check with IS_ERR before attempting to dereference it.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
---
 drivers/clk/clk_versaclock.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/clk/clk_versaclock.c b/drivers/clk/clk_versaclock.c
index 790ea4dbe82..19a787eaf0c 100644
--- a/drivers/clk/clk_versaclock.c
+++ b/drivers/clk/clk_versaclock.c
@@ -904,12 +904,12 @@ int versaclock_probe(struct udevice *dev)
 	if (IS_ERR(mux_name))
 		return PTR_ERR(mux_name);
 
-	clk_register(&vc5->clk_mux, "versaclock-mux", mux_name, vc5->pin_xin->dev->name);
-
-	if (!IS_ERR(vc5->pin_xin))
+	if (!IS_ERR(vc5->pin_xin)) {
+		clk_register(&vc5->clk_mux, "versaclock-mux", mux_name, vc5->pin_xin->dev->name);
 		vc5_mux_set_parent(&vc5->clk_mux, 1);
-	else
+	} else {
 		vc5_mux_set_parent(&vc5->clk_mux, 0);
+	}
 
 	/* Configure Optional Loading Capacitance for external XTAL */
 	if (!(vc5->chip_info->flags & VC5_HAS_INTERNAL_XTAL)) {

-- 
2.39.5



More information about the U-Boot mailing list