Quoting Matt Roper (2023-06-01 14:38:04-03:00) >If i915_driver_create() fails to create a valid 'i915' object, we >should just disable the PCI device and return immediately without trying >to call i915_probe_error() that relies on a valid i915 pointer. > >Fixes: 12e6f6dc78e4 ("drm/i915/display: Handle GMD_ID identification in display code") >Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> >Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Gustavo Sousa <gustavo.sousa@xxxxxxxxx> >--- > drivers/gpu/drm/i915/i915_driver.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > >diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c >index c3ab5c32d492..5c3fc57cc4fe 100644 >--- a/drivers/gpu/drm/i915/i915_driver.c >+++ b/drivers/gpu/drm/i915/i915_driver.c >@@ -762,8 +762,8 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > > i915 = i915_driver_create(pdev, ent); > if (IS_ERR(i915)) { >- ret = PTR_ERR(i915); >- goto out_pci_disable; >+ pci_disable_device(pdev); >+ return PTR_ERR(i915); > } > > ret = i915_driver_early_probe(i915); >-- >2.40.1 >