if (xe_display_driver_probe_defer(pdev))
return -EPROBE_DEFER;
+ err = pcim_enable_device(pdev);
+ if (err)
+ return err;
+
xe = xe_device_create(pdev, ent);
if (IS_ERR(xe))
return PTR_ERR(xe);
+ pci_set_drvdata(pdev, xe);
+
xe_pm_assert_unbounded_bridge(xe);
subplatform_desc = find_subplatform(xe, desc);
- pci_set_drvdata(pdev, xe);
- err = pci_enable_device(pdev);
- if (err)
- return err;
-
pci_set_master(pdev);
xe_sriov_probe_early(xe, desc->has_sriov);
err = xe_info_init(xe, desc, subplatform_desc);
if (err)
- goto err_pci_disable;
+ return err;
xe_display_probe(xe);
err = xe_device_probe(xe);
if (err)
- goto err_pci_disable;
+ return err;
xe_pm_init(xe);
return 0;
-
-err_pci_disable:
- pci_disable_device(pdev);
-
- return err;
}
static void xe_pci_shutdown(struct pci_dev *pdev)