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.goodb...@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

Reply via email to