]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: fec: Fix possible NPD in fec_enet_phy_reset_after_clk_enable()
authorStefan Wahren <wahrenst@gmx.net>
Thu, 4 Sep 2025 09:13:34 +0000 (11:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Sep 2025 14:35:48 +0000 (16:35 +0200)
[ Upstream commit 03e79de4608bdd48ad6eec272e196124cefaf798 ]

The function of_phy_find_device may return NULL, so we need to take
care before dereferencing phy_dev.

Fixes: 64a632da538a ("net: fec: Fix phy_device lookup for phy_reset_after_clk_enable()")
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Cc: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Cc: Richard Leitner <richard.leitner@skidata.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Wei Fang <wei.fang@nxp.com>
Link: https://patch.msgid.link/20250904091334.53965-1-wahrenst@gmx.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/freescale/fec_main.c

index a1cc338cf20f38932e208428ea1a430d5b8cd0c2..0bd814251d56ef794194146503a186b6c01617e4 100644 (file)
@@ -2356,7 +2356,8 @@ static void fec_enet_phy_reset_after_clk_enable(struct net_device *ndev)
                 */
                phy_dev = of_phy_find_device(fep->phy_node);
                phy_reset_after_clk_enable(phy_dev);
-               put_device(&phy_dev->mdio.dev);
+               if (phy_dev)
+                       put_device(&phy_dev->mdio.dev);
        }
 }