From: Mikko Perttunen Date: Fri, 9 Jun 2017 12:25:41 +0000 (+0300) Subject: drm/nouveau: Skip vga_fini on non-PCI device X-Git-Tag: v4.13-rc1~73^2~13^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=876ea7be6a71614ef80c05037350a2ff986e3a80;p=thirdparty%2Fkernel%2Flinux.git drm/nouveau: Skip vga_fini on non-PCI device As with vga_init, this function doesn't make sense on non-PCI devices, and the Thunderbolt check in it dereferences a NULL pointer in that case. Add some code to skip this function when the device is not a PCI device. Signed-off-by: Mikko Perttunen Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nouveau_vga.c b/drivers/gpu/drm/nouveau/nouveau_vga.c index 02fe0efb9e164..48393a4f63312 100644 --- a/drivers/gpu/drm/nouveau/nouveau_vga.c +++ b/drivers/gpu/drm/nouveau/nouveau_vga.c @@ -111,6 +111,10 @@ nouveau_vga_fini(struct nouveau_drm *drm) struct drm_device *dev = drm->dev; bool runtime = nouveau_pmops_runtime(); + /* only relevant for PCI devices */ + if (!dev->pdev) + return; + vga_client_register(dev->pdev, NULL, NULL, NULL); if (pci_is_thunderbolt_attached(dev->pdev))