[PATCH -next] ptp: ocp: Fix missing pci_disable_device() on error in ptp_ocp_probe()

From: Yang Yingliang
Date: Tue Aug 10 2021 - 08:49:06 EST


If ptp_ocp_device_init() fails, pci_disable_device() need be
called, fix this by using pcim_enable_device().

Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
---
drivers/ptp/ptp_ocp.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/ptp/ptp_ocp.c b/drivers/ptp/ptp_ocp.c
index 92edf772feed..04cce8d3b1f6 100644
--- a/drivers/ptp/ptp_ocp.c
+++ b/drivers/ptp/ptp_ocp.c
@@ -1429,7 +1429,7 @@ ptp_ocp_probe(struct pci_dev *pdev, const struct pci_device_id *id)
if (err)
goto out_free;

- err = pci_enable_device(pdev);
+ err = pcim_enable_device(pdev);
if (err) {
dev_err(&pdev->dev, "pci_enable_device\n");
goto out_unregister;
@@ -1476,7 +1476,6 @@ ptp_ocp_probe(struct pci_dev *pdev, const struct pci_device_id *id)

out:
ptp_ocp_detach(bp);
- pci_disable_device(pdev);
pci_set_drvdata(pdev, NULL);
out_unregister:
devlink_unregister(devlink);
@@ -1493,7 +1492,6 @@ ptp_ocp_remove(struct pci_dev *pdev)
struct devlink *devlink = priv_to_devlink(bp);

ptp_ocp_detach(bp);
- pci_disable_device(pdev);
pci_set_drvdata(pdev, NULL);

devlink_unregister(devlink);
--
2.25.1