drm/xe: Skip calling drm_dev_put on probe error
DRM device used by Xe is managed, which means that final ref will be dropped on driver detach. Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Link: https://lore.kernel.org/r/20231129214509.1174116-2-michal.winiarski@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
33acfc7172
commit
0d29a76c63
@ -215,11 +215,11 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
|
||||
xe->drm.anon_inode->i_mapping,
|
||||
xe->drm.vma_offset_manager, false, false);
|
||||
if (WARN_ON(err))
|
||||
goto err_put;
|
||||
goto err;
|
||||
|
||||
err = drmm_add_action_or_reset(&xe->drm, xe_device_destroy, NULL);
|
||||
if (err)
|
||||
goto err_put;
|
||||
goto err;
|
||||
|
||||
xe->info.devid = pdev->device;
|
||||
xe->info.revid = pdev->revision;
|
||||
@ -258,18 +258,16 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
|
||||
if (!xe->ordered_wq || !xe->unordered_wq) {
|
||||
drm_err(&xe->drm, "Failed to allocate xe workqueues\n");
|
||||
err = -ENOMEM;
|
||||
goto err_put;
|
||||
goto err;
|
||||
}
|
||||
|
||||
err = xe_display_create(xe);
|
||||
if (WARN_ON(err))
|
||||
goto err_put;
|
||||
goto err;
|
||||
|
||||
return xe;
|
||||
|
||||
err_put:
|
||||
drm_dev_put(&xe->drm);
|
||||
|
||||
err:
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
|
@ -706,7 +706,7 @@ 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)
|
||||
goto err_drm_put;
|
||||
return err;
|
||||
|
||||
pci_set_master(pdev);
|
||||
|
||||
@ -754,9 +754,6 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
err_pci_disable:
|
||||
pci_disable_device(pdev);
|
||||
|
||||
err_drm_put:
|
||||
drm_dev_put(&xe->drm);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user