struct drm_i915_private *dev_priv = dev->dev_private;
 
        ifbdev = dev_priv->fbdev;
-       fb = to_intel_framebuffer(ifbdev->helper.fb);
-
-       seq_printf(m, "fbcon size: %d x %d, depth %d, %d bpp, modifier 0x%llx, refcount %d, obj ",
-                  fb->base.width,
-                  fb->base.height,
-                  fb->base.depth,
-                  fb->base.bits_per_pixel,
-                  fb->base.modifier[0],
-                  atomic_read(&fb->base.refcount.refcount));
-       describe_obj(m, fb->obj);
-       seq_putc(m, '\n');
+       if (ifbdev) {
+               fb = to_intel_framebuffer(ifbdev->helper.fb);
+
+               seq_printf(m, "fbcon size: %d x %d, depth %d, %d bpp, modifier 0x%llx, refcount %d, obj ",
+                          fb->base.width,
+                          fb->base.height,
+                          fb->base.depth,
+                          fb->base.bits_per_pixel,
+                          fb->base.modifier[0],
+                          atomic_read(&fb->base.refcount.refcount));
+               describe_obj(m, fb->obj);
+               seq_putc(m, '\n');
+       }
 #endif
 
        mutex_lock(&dev->mode_config.fb_lock);
 
 {
 #ifdef CONFIG_DRM_FBDEV_EMULATION
        struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
-       drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, &connector->base);
+
+       if (dev_priv->fbdev)
+               drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper,
+                                               &connector->base);
 #endif
 }
 
 {
 #ifdef CONFIG_DRM_FBDEV_EMULATION
        struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
-       drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, &connector->base);
+
+       if (dev_priv->fbdev)
+               drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper,
+                                                  &connector->base);
 #endif
 }
 
 
 
        drm_fb_helper_fini(&ifbdev->helper);
 
-       drm_framebuffer_unregister_private(&ifbdev->fb->base);
-       drm_framebuffer_remove(&ifbdev->fb->base);
+       if (ifbdev->fb) {
+               drm_framebuffer_unregister_private(&ifbdev->fb->base);
+               drm_framebuffer_remove(&ifbdev->fb->base);
+       }
 }
 
 /*