]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: hns3: make sure ptp clock is unregister and freed if hclge_ptp_get_cycle returns...
authorPeiyang Wang <wangpeiyang1@huawei.com>
Fri, 28 Feb 2025 10:52:58 +0000 (18:52 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:51:05 +0000 (12:51 +0100)
[ Upstream commit b7365eab39831487a84e63a9638209b68dc54008 ]

During the initialization of ptp, hclge_ptp_get_cycle might return an error
and returned directly without unregister clock and free it. To avoid that,
call hclge_ptp_destroy_clock to unregist and free clock if
hclge_ptp_get_cycle failed.

Fixes: 8373cd38a888 ("net: hns3: change the method of obtaining default ptp cycle")
Signed-off-by: Peiyang Wang <wangpeiyang1@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250228105258.1243461-1-shaojijie@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c

index 0f06f95b09bc28b486178b6b3f54d7ed5b3c1733..4d4cea1f50157761b7ec16e9c2c438a01dc8b740 100644 (file)
@@ -496,7 +496,7 @@ int hclge_ptp_init(struct hclge_dev *hdev)
 
                ret = hclge_ptp_get_cycle(hdev);
                if (ret)
-                       return ret;
+                       goto out;
        }
 
        ret = hclge_ptp_int_en(hdev, true);