]> 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:37:35 +0000 (16:37 +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 651b73163b6ee968e4a9428d06e899329b75ba4c..5f15f42070c539c5e9861ca7dc47042ad6694bf7 100644 (file)
@@ -2358,7 +2358,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);
        }
 }