summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVincent Jardin <[email protected]>2025-12-16 01:53:52 +0100
committerStefan Roese <[email protected]>2026-06-10 11:23:26 +0200
commit50b3c87e0e2b6037dfa4dd9ee1e0ddb42165e835 (patch)
tree2b05c798e3399f22f4a1055b994b0d8a1649a9b2 /drivers
parent001f7e5f4c0f18a247443797eafc89bf8400d1c4 (diff)
net: mvpp2: fix NULL pointer dereference in mvpp2_phy_connect
Fix two NULL pointer dereferences in mvpp2_phy_connect(): 1. port->phy_dev->dev is used in dev_warn() but port->phy_dev is not assigned yet (assigned later at line below). 2. port->phy_dev->dev is used in dev_err() inside the "if (!phy_dev)" block, which means phy_dev is NULL. Both cases would cause a crash if the PHY detection fails or returns a generic PHY. Use the already available 'dev' parameter instead. Fixes: 9db60ee470c2 ("net: mvpp2: Convert netdev_xxx to dev_xxx") Signed-off-by: Vincent Jardin <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/mvpp2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/mvpp2.c b/drivers/net/mvpp2.c
index fc137df14c4..ae5920a0201 100644
--- a/drivers/net/mvpp2.c
+++ b/drivers/net/mvpp2.c
@@ -4528,7 +4528,7 @@ static void mvpp2_phy_connect(struct udevice *dev, struct mvpp2_port *port)
*/
if (phy_dev &&
phy_dev->drv->uid == 0xffffffff) {/* Generic phy */
- dev_warn(port->phy_dev->dev,
+ dev_warn(dev,
"Marking phy as invalid, link will not be checked\n");
/* set phy_addr to invalid value */
port->phyaddr = PHY_MAX_ADDR;
@@ -4540,7 +4540,7 @@ static void mvpp2_phy_connect(struct udevice *dev, struct mvpp2_port *port)
port->phy_dev = phy_dev;
if (!phy_dev) {
- dev_err(port->phy_dev->dev, "cannot connect to phy\n");
+ dev_err(dev, "cannot connect to phy\n");
return;
}
phy_dev->supported &= PHY_GBIT_FEATURES;