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