drm: Check for drm_device->dev in drm_set_busid
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 21 Jun 2017 13:04:29 +0000 (15:04 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 21 Jun 2017 15:38:43 +0000 (17:38 +0200)
I've failed to remember that we have virtual drivers like vgem which
have no underlying struct device. Fix this asap.

Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Fixes: 5c484cee7ef9 ("drm: Remove drm_driver->set_busid hook")
Cc: Thierry Reding <treding@nvidia.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170621130429.20537-1-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_ioctl.c

index 3a36b3717c2808a34cf0fde46c2bffe3f0e705e9..d74473570acdb8e4561d9998356479b91175c17f 100644 (file)
@@ -143,7 +143,7 @@ static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv)
        if (master->unique != NULL)
                drm_unset_busid(dev, master);
 
-       if (dev_is_pci(dev->dev)) {
+       if (dev->dev && dev_is_pci(dev->dev)) {
                ret = drm_pci_set_busid(dev, master);
                if (ret) {
                        drm_unset_busid(dev, master);