[PATCH V2 net 3/7] net: hns3: release PTP resources if pf initialization failed

From: Hariprasad Kelam
Date: Fri Apr 26 2024 - 07:22:24 EST


> From: Peiyang Wang <wangpeiyang1@xxxxxxxxxx>
>
> During the PF initialization process, hclge_update_port_info may return an
> error code for some reason. At this point, the ptp initialization has been
> completed. To void memory leaks, the resources that are applied by ptp
> should be released. Therefore, when hclge_update_port_info returns an error
> code, hclge_ptp_uninit is called to release the corresponding resources.
>
> Fixes: eaf83ae59e18 ("net: hns3: add querying fec ability from firmware")
> Signed-off-by: Peiyang Wang <wangpeiyang1@xxxxxxxxxx>
> Signed-off-by: Jijie Shao <shaojijie@xxxxxxxxxx>
> ---
> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> index 62ddce05fa2b..a068cd745eb4 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> @@ -11761,7 +11761,7 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev
> *ae_dev)
>
> ret = hclge_update_port_info(hdev);
> if (ret)
> - goto err_mdiobus_unreg;
> + goto err_ptp_uninit;
>
> INIT_KFIFO(hdev->mac_tnl_log);
>
> @@ -11812,6 +11812,8 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev
> *ae_dev)
> devl_unlock(hdev->devlink);
> return 0;
>
> +err_ptp_uninit:
> + hclge_ptp_uninit(hdev);
> err_mdiobus_unreg:
> if (hdev->hw.mac.phydev)
> mdiobus_unregister(hdev->hw.mac.mdio_bus);
> --
> 2.30.0
>
Reviewed-by: Hariprasad Kelam <hkelam@xxxxxxxxxxx>