[PATCH net] net: phy: Add missing driver check in phy_aneg_done()

Subsystems: ethernet phy library, networking drivers, the rest

STALE3482d

2 messages, 2 authors, 2017-02-24 · open the first message on its own page

[PATCH net] net: phy: Add missing driver check in phy_aneg_done()

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2017-02-23 22:22:32

Dan's static checker caught a potential code path in phy_state_machine() where
we were not checking phydev->drv which is in phy_aneg_done().

Reported-by: Dan Carpenter <redacted>
Fixes: 25149ef9d25c ("net: phy: Check phydev->drv")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/net/phy/phy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index d6f7838455dd..1be69d8bc909 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -146,7 +146,7 @@ static int phy_config_interrupt(struct phy_device *phydev, u32 interrupts)
  */
 int phy_aneg_done(struct phy_device *phydev)
 {
-	if (phydev->drv->aneg_done)
+	if (phydev->drv && phydev->drv->aneg_done)
 		return phydev->drv->aneg_done(phydev);
 
 	return genphy_aneg_done(phydev);
-- 
2.9.3

Re: [PATCH net] net: phy: Add missing driver check in phy_aneg_done()

From: David Miller <davem@davemloft.net>
Date: 2017-02-24 16:22:42

From: Florian Fainelli <f.fainelli@gmail.com>
Date: Thu, 23 Feb 2017 14:22:19 -0800
Dan's static checker caught a potential code path in phy_state_machine() where
we were not checking phydev->drv which is in phy_aneg_done().

Reported-by: Dan Carpenter <redacted>
Fixes: 25149ef9d25c ("net: phy: Check phydev->drv")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Applied.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help