Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i915: Don't dereference HWS in /proc debug files when it isn't initialized.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by

Eric Anholt and committed by
Dave Airlie
a2d44cca 053d7f24

+12 -3
+12 -3
drivers/gpu/drm/i915/i915_gem_proc.c
··· 192 192 193 193 *start = &buf[offset]; 194 194 *eof = 0; 195 - DRM_PROC_PRINT("Current sequence: %d\n", i915_get_gem_seqno(dev)); 195 + if (dev_priv->hw_status_page != NULL) { 196 + DRM_PROC_PRINT("Current sequence: %d\n", 197 + i915_get_gem_seqno(dev)); 198 + } else { 199 + DRM_PROC_PRINT("Current sequence: hws uninitialized\n"); 200 + } 196 201 DRM_PROC_PRINT("Waiter sequence: %d\n", 197 202 dev_priv->mm.waiting_gem_seqno); 198 203 DRM_PROC_PRINT("IRQ sequence: %d\n", dev_priv->mm.irq_gem_seqno); ··· 235 230 I915_READ(PIPEBSTAT)); 236 231 DRM_PROC_PRINT("Interrupts received: %d\n", 237 232 atomic_read(&dev_priv->irq_received)); 238 - DRM_PROC_PRINT("Current sequence: %d\n", 239 - i915_get_gem_seqno(dev)); 233 + if (dev_priv->hw_status_page != NULL) { 234 + DRM_PROC_PRINT("Current sequence: %d\n", 235 + i915_get_gem_seqno(dev)); 236 + } else { 237 + DRM_PROC_PRINT("Current sequence: hws uninitialized\n"); 238 + } 240 239 DRM_PROC_PRINT("Waiter sequence: %d\n", 241 240 dev_priv->mm.waiting_gem_seqno); 242 241 DRM_PROC_PRINT("IRQ sequence: %d\n",