]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/i915: Print the condition causing GEM_BUG_ON
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Thu, 16 Nov 2017 08:39:54 +0000 (10:39 +0200)
committerMika Kuoppala <mika.kuoppala@linux.intel.com>
Thu, 16 Nov 2017 13:35:47 +0000 (15:35 +0200)
It is easier to categorize and debug bugs if the failed condition
is in plain sight in the actual dmesg output. Make it so.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Marta Lofstedt <marta.lofstedt@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Marta Lofstedt <marta.lofstedt@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171116083954.3357-1-mika.kuoppala@linux.intel.com
drivers/gpu/drm/i915/i915_gem.h

index ff42b5f0e9812dde5d28b593d2e2c9180335cfdf..e920dab7f1b8c945fa9f3c0b95935ad10d9f4c00 100644 (file)
 #include <linux/bug.h>
 
 #ifdef CONFIG_DRM_I915_DEBUG_GEM
-#define GEM_BUG_ON(expr) BUG_ON(expr)
+#define GEM_BUG_ON(condition) do { if (unlikely((condition))) {        \
+               printk(KERN_ERR "GEM_BUG_ON(%s)\n", __stringify(condition)); \
+               BUG(); \
+               } \
+       } while(0)
 #define GEM_WARN_ON(expr) WARN_ON(expr)
 
 #define GEM_DEBUG_DECL(var) var