phy: ti: gmii-sel: check of_get_address() for failure
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 14 Sep 2021 11:00:38 +0000 (14:00 +0300)
committerVinod Koul <vkoul@kernel.org>
Tue, 26 Oct 2021 11:06:23 +0000 (16:36 +0530)
Smatch complains that if of_get_address() returns NULL, then "size"
isn't initialized.  Also it would lead to an Oops.

Fixes: 7f78322cdd67 ("phy: ti: gmii-sel: retrieve ports number and base offset from dt")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Link: https://lore.kernel.org/r/20210914110038.GB11657@kili
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/ti/phy-gmii-sel.c

index 5fd2e8a08bfcf1103115f200bc80ba81b63be197..d0ab69750c6b44ab36c5148af2216c6f235951ac 100644 (file)
@@ -320,6 +320,8 @@ static int phy_gmii_sel_init_ports(struct phy_gmii_sel_priv *priv)
                u64 size;
 
                offset = of_get_address(dev->of_node, 0, &size, NULL);
+               if (!offset)
+                       return -EINVAL;
                priv->num_ports = size / sizeof(u32);
                if (!priv->num_ports)
                        return -EINVAL;