diff mbox series

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

Message ID 20220922024601.3643622-1-ruanjinjie@huawei.com (mailing list archive)
State Rejected
Headers show
Series [-next] IB/hfi1,PCI: Fix missing pci_disable_device() in probe and remove | expand

Commit Message

Jinjie Ruan Sept. 22, 2022, 2:46 a.m. UTC
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 <ruanjinjie@huawei.com>
---
 drivers/infiniband/hw/hfi1/pcie.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Leon Romanovsky Sept. 22, 2022, 11:46 a.m. UTC | #1
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 <ruanjinjie@huawei.com>
> ---
>  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
Jason Gunthorpe Sept. 26, 2022, 5:35 p.m. UTC | #2
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 <ruanjinjie@huawei.com>
> ---
>  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
Jinjie Ruan Sept. 27, 2022, 12:57 a.m. UTC | #3
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.
diff mbox series

Patch

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);
 }
 
 /*