2022-09-22 03:03:32

by Jinjie Ruan

[permalink] [raw]
Subject: [PATCH -next] IB/hfi1,PCI: Fix missing pci_disable_device() in probe and remove

Replace pci_enable_device() with pcim_enable_device(),
pci_disable_device() and pci_release_regions() will be
called in release automatically.

Signed-off-by: ruanjinjie <[email protected]>
---
drivers/infiniband/hw/hfi1/pcie.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/infiniband/hw/hfi1/pcie.c b/drivers/infiniband/hw/hfi1/pcie.c
index a0802332c8cb..45a0fb75f2d8 100644
--- a/drivers/infiniband/hw/hfi1/pcie.c
+++ b/drivers/infiniband/hw/hfi1/pcie.c
@@ -26,7 +26,7 @@ int hfi1_pcie_init(struct hfi1_devdata *dd)
int ret;
struct pci_dev *pdev = dd->pcidev;

- ret = pci_enable_device(pdev);
+ ret = pcim_enable_device(pdev);
if (ret) {
/*
* This can happen (in theory) iff:
@@ -78,12 +78,10 @@ int hfi1_pcie_init(struct hfi1_devdata *dd)
*/
void hfi1_pcie_cleanup(struct pci_dev *pdev)
{
- pci_disable_device(pdev);
/*
* Release regions should be called after the disable. OK to
* call if request regions has not been called or failed.
*/
- pci_release_regions(pdev);
}

/*
--
2.25.1


2022-09-22 12:42:15

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH -next] IB/hfi1,PCI: Fix missing pci_disable_device() in probe and remove

On Thu, Sep 22, 2022 at 10:46:01AM +0800, ruanjinjie wrote:
> Replace pci_enable_device() with pcim_enable_device(),
> pci_disable_device() and pci_release_regions() will be
> called in release automatically.
>
> Signed-off-by: ruanjinjie <[email protected]>
> ---
> drivers/infiniband/hw/hfi1/pcie.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)

This driver doesn't use devres model and manages all resources by
itself. IMHO, it is much more saner than using automatic resource
release.

Thanks

2022-09-26 18:07:43

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH -next] IB/hfi1,PCI: Fix missing pci_disable_device() in probe and remove

On Thu, Sep 22, 2022 at 10:46:01AM +0800, ruanjinjie wrote:
> Replace pci_enable_device() with pcim_enable_device(),
> pci_disable_device() and pci_release_regions() will be
> called in release automatically.
>
> Signed-off-by: ruanjinjie <[email protected]>
> ---
> drivers/infiniband/hw/hfi1/pcie.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)

Please no, at LPC it seems the general consensus is that the devm
varients were a Bad Idea. If the code as-is is correct then lets leave
it alone.

Jason

2022-09-27 01:10:27

by Jinjie Ruan

[permalink] [raw]
Subject: Re: [PATCH -next] IB/hfi1,PCI: Fix missing pci_disable_device() in probe and remove

OK! Thank you very much.

On 2022/9/27 1:35, Jason Gunthorpe wrote:
> Please no, at LPC it seems the general consensus is that the devm
> varients were a Bad Idea. If the code as-is is correct then lets leave
> it alone.