diff
--- a/drivers/net/ethernet/hisilicon/hclge/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hclge/hclge_main.c
@@ -25,6 +25,7 @@
 	ret = hclge_pci_init(hdev);
 	if (ret)
 		goto err_pci_init;
+	
 	ret = hclge_devlink_init(hdev);
 	if (ret)
 		goto err_devlink_init;
@@ -36,6 +37,7 @@
 	return 0;
 
  err_pci_init:
+	devm_kfree(&pdev->dev, hdev);
 	return ret;
 
  err_devlink_init:

