[Intel-xe] [PATCH] drm/xe: Do not forget to drm_dev_put() in xe_pci_probe():

Gustavo Sousa gustavo.sousa at intel.com
Mon May 22 20:28:32 UTC 2023


Quoting Lucas De Marchi (2023-05-20 01:56:17-03:00)
>On Fri, May 19, 2023 at 04:48:02PM -0300, Gustavo Sousa wrote:
>>We should also call drm_dev_put() when calling xe_device_probe().
>
>I guess you meant:
>
>drm_dev_put() should also be called if xe_device_probe() fails.
>
>
>>
>>Signed-off-by: Gustavo Sousa <gustavo.sousa at intel.com>
>
>
>Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>

Improved commit message and pushed. Thanks for the review!

--
Gustavo Sousa

>
>
>Lucas De Marchi
>
>>---
>> drivers/gpu/drm/xe/xe_pci.c | 26 ++++++++++++++------------
>> 1 file changed, 14 insertions(+), 12 deletions(-)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
>>index e789a50a1310..2d0d50dcd396 100644
>>--- a/drivers/gpu/drm/xe/xe_pci.c
>>+++ b/drivers/gpu/drm/xe/xe_pci.c
>>@@ -639,10 +639,8 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>>         subplatform_desc = find_subplatform(xe, desc);
>>
>>         err = xe_info_init(xe, desc, subplatform_desc);
>>-        if (err) {
>>-                drm_dev_put(&xe->drm);
>>-                return err;
>>-        }
>>+        if (err)
>>+                goto err_drm_put;
>>
>>         xe_display_info_init(xe);
>>
>>@@ -668,10 +666,8 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>>
>>         pci_set_drvdata(pdev, xe);
>>         err = pci_enable_device(pdev);
>>-        if (err) {
>>-                drm_dev_put(&xe->drm);
>>-                return err;
>>-        }
>>+        if (err)
>>+                goto err_drm_put;
>>
>>         pci_set_master(pdev);
>>
>>@@ -679,14 +675,20 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>>                 drm_dbg(&xe->drm, "can't enable MSI");
>>
>>         err = xe_device_probe(xe);
>>-        if (err) {
>>-                pci_disable_device(pdev);
>>-                return err;
>>-        }
>>+        if (err)
>>+                goto err_pci_disable;
>>
>>         xe_pm_runtime_init(xe);
>>
>>         return 0;
>>+
>>+err_pci_disable:
>>+        pci_disable_device(pdev);
>>+
>>+err_drm_put:
>>+        drm_dev_put(&xe->drm);
>>+
>>+        return err;
>> }
>>
>> static void xe_pci_shutdown(struct pci_dev *pdev)
>>-- 
>>2.40.1
>>


More information about the Intel-xe mailing list