]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/gpu/drm/i915/i915_gem_proc.c
i915: Don't dereference HWS in /proc debug files when it isn't initialized.
[linux-2.6-omap-h63xx.git] / drivers / gpu / drm / i915 / i915_gem_proc.c
index 15d4160415b053ce82c5bcbe593ece7bb866e429..93de15b4c9a722749d69d417d88cc1aba49d8280 100644 (file)
@@ -192,7 +192,12 @@ static int i915_gem_seqno_info(char *buf, char **start, off_t offset,
 
        *start = &buf[offset];
        *eof = 0;
-       DRM_PROC_PRINT("Current sequence: %d\n", i915_get_gem_seqno(dev));
+       if (dev_priv->hw_status_page != NULL) {
+               DRM_PROC_PRINT("Current sequence: %d\n",
+                              i915_get_gem_seqno(dev));
+       } else {
+               DRM_PROC_PRINT("Current sequence: hws uninitialized\n");
+       }
        DRM_PROC_PRINT("Waiter sequence:  %d\n",
                       dev_priv->mm.waiting_gem_seqno);
        DRM_PROC_PRINT("IRQ sequence:     %d\n", dev_priv->mm.irq_gem_seqno);
@@ -230,8 +235,12 @@ static int i915_interrupt_info(char *buf, char **start, off_t offset,
                       I915_READ(PIPEBSTAT));
        DRM_PROC_PRINT("Interrupts received: %d\n",
                       atomic_read(&dev_priv->irq_received));
-       DRM_PROC_PRINT("Current sequence:    %d\n",
-                      i915_get_gem_seqno(dev));
+       if (dev_priv->hw_status_page != NULL) {
+               DRM_PROC_PRINT("Current sequence:    %d\n",
+                              i915_get_gem_seqno(dev));
+       } else {
+               DRM_PROC_PRINT("Current sequence:    hws uninitialized\n");
+       }
        DRM_PROC_PRINT("Waiter sequence:     %d\n",
                       dev_priv->mm.waiting_gem_seqno);
        DRM_PROC_PRINT("IRQ sequence:        %d\n",