]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: mdio-ipq4019: add missing error check
authorRosen Penev <rosenp@gmail.com>
Thu, 21 Nov 2024 19:31:52 +0000 (11:31 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:53:58 +0000 (13:53 +0100)
[ Upstream commit 9cc8d0ecdd2aad42e377e971e3bb114339df609e ]

If an optional resource is found but fails to remap, return on failure.
Avoids any potential problems when using the iomapped resource as the
assumption is that it's available.

Fixes: 23a890d493e3 ("net: mdio: Add the reset function for IPQ MDIO driver")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20241121193152.8966-1-rosenp@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/mdio/mdio-ipq4019.c

index 9d8f43b28aac5b975bf5e06bac5827c29335ceae..ea1f64596a85cfb3e6a3c4d0d59c812e82cd5adc 100644 (file)
@@ -352,8 +352,11 @@ static int ipq4019_mdio_probe(struct platform_device *pdev)
        /* The platform resource is provided on the chipset IPQ5018 */
        /* This resource is optional */
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       if (res)
+       if (res) {
                priv->eth_ldo_rdy = devm_ioremap_resource(&pdev->dev, res);
+               if (IS_ERR(priv->eth_ldo_rdy))
+                       return PTR_ERR(priv->eth_ldo_rdy);
+       }
 
        bus->name = "ipq4019_mdio";
        bus->read = ipq4019_mdio_read_c22;