Commit dd890ae29299 for kernel

commit dd890ae29299636fb037276fc1b5238698d08b03
Author: bui duc phuc <phucduc.bui@gmail.com>
Date:   Wed Aug 26 17:34:28 2026 +0700

    net: fec: only stop PTP if it was initialized

    fec_ptp_init() is only called when fep->bufdesc_ex is available.
    However, fec_probe() unconditionally calls fec_ptp_stop() on the
    failed_init path, and fec_drv_remove() unconditionally calls
    fec_ptp_stop() during device removal.

    Check fep->bufdesc_ex before calling fec_ptp_stop() in both paths
    to avoid stopping PTP when it was not initialized.

    Fixes: 32cba57ba74b ("net: fec: introduce fec_ptp_stop and use in probe fail path")
    Reviewed-by: Wei Fang <wei.fang@nxp.com>
    Reviewed-by: Frank Li <Frank.Li@nxp.com>
    Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
    Link: https://patch.msgid.link/20260826103428.32807-1-phucduc.bui@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index ced4dbf8cd90..794ec427b0ee 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -5457,7 +5457,8 @@ fec_probe(struct platform_device *pdev)
 failed_irq:
 	fec_enet_deinit(ndev);
 failed_init:
-	fec_ptp_stop(pdev);
+	if (fep->bufdesc_ex)
+		fec_ptp_stop(pdev);
 failed_reset:
 	pm_runtime_put_noidle(&pdev->dev);
 	pm_runtime_disable(&pdev->dev);
@@ -5499,7 +5500,8 @@ fec_drv_remove(struct platform_device *pdev)
 			ERR_PTR(ret));

 	cancel_work_sync(&fep->tx_timeout_work);
-	fec_ptp_stop(pdev);
+	if (fep->bufdesc_ex)
+		fec_ptp_stop(pdev);
 	unregister_netdev(ndev);
 	fec_enet_mii_remove(fep);
 	if (fep->reg_phy)