Hi Chris, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on v4.17 next-20180606] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Mark-i915-inject_load_failure-as-being-hit/20180607-174849 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: i386-randconfig-n0-201822 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from include/linux/printk.h:7:0, from include/linux/kernel.h:14, from include/linux/list.h:9, from include/linux/resource_ext.h:17, from include/linux/acpi.h:26, from drivers/gpu//drm/i915/i915_drv.c:30: include/linux/kern_levels.h:5:18: error: initialization makes integer from pointer without a cast [-Werror=int-conversion] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~~~~~ drivers/gpu//drm/i915/i915_drv.c:61:36: note: in expansion of macro 'KERN_ERR' static int i915_load_error_level = KERN_ERR; ^~~~~~~~ drivers/gpu//drm/i915/i915_drv.c: In function '__i915_inject_load_failure': >> drivers/gpu//drm/i915/i915_drv.c:72:25: error: assignment makes integer from pointer without a cast [-Werror=int-conversion] i915_load_error_level = KERN_DEBUG; ^ drivers/gpu//drm/i915/i915_drv.c: In function 'i915_driver_load': >> drivers/gpu//drm/i915/i915_drv.c:123:26: error: passing argument 2 of '__i915_printk' makes pointer from integer without a cast [-Werror=int-conversion] __i915_printk(dev_priv, i915_load_error_level, fmt, ##__VA_ARGS__) ^ drivers/gpu//drm/i915/i915_drv.c:1425:2: note: in expansion of macro 'i915_load_error' i915_load_error(dev_priv, "Device initialization failed (%d)\n", ret); ^~~~~~~~~~~~~~~ drivers/gpu//drm/i915/i915_drv.c:87:1: note: expected 'const char *' but argument is of type 'int' __i915_printk(struct drm_i915_private *dev_priv, const char *level, ^~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +/__i915_printk +123 drivers/gpu//drm/i915/i915_drv.c 58 59 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG) 60 static unsigned int i915_load_fail_count; > 61 static int i915_load_error_level = KERN_ERR; 62 63 bool __i915_inject_load_failure(const char *func, int line) 64 { 65 if (i915_load_fail_count >= i915_modparams.inject_load_failure) 66 return false; 67 68 if (++i915_load_fail_count == i915_modparams.inject_load_failure) { 69 DRM_INFO("Injecting failure at checkpoint %u [%s:%d]\n", 70 i915_modparams.inject_load_failure, func, line); 71 i915_modparams.inject_load_failure = 0; > 72 i915_load_error_level = KERN_DEBUG; 73 return true; 74 } 75 76 return false; 77 } 78 #else 79 #define i915_load_error_level KERN_ERR 80 #endif 81 82 #define FDO_BUG_URL "https://bugs.freedesktop.org/enter_bug.cgi?product=DRI" 83 #define FDO_BUG_MSG "Please file a bug at " FDO_BUG_URL " against DRM/Intel " \ 84 "providing the dmesg log by booting with drm.debug=0xf" 85 86 void 87 __i915_printk(struct drm_i915_private *dev_priv, const char *level, 88 const char *fmt, ...) 89 { 90 static bool shown_bug_once; 91 struct device *kdev = dev_priv->drm.dev; 92 bool is_error = level[1] <= KERN_ERR[1]; 93 bool is_debug = level[1] == KERN_DEBUG[1]; 94 struct va_format vaf; 95 va_list args; 96 97 if (is_debug && !(drm_debug & DRM_UT_DRIVER)) 98 return; 99 100 va_start(args, fmt); 101 102 vaf.fmt = fmt; 103 vaf.va = &args; 104 105 dev_printk(level, kdev, "[" DRM_NAME ":%ps] %pV", 106 __builtin_return_address(0), &vaf); 107 108 if (is_error && !shown_bug_once) { 109 /* 110 * Ask the user to file a bug report for the error, except 111 * if they may have caused the bug by fiddling with unsafe 112 * module parameters. 113 */ 114 if (!test_taint(TAINT_USER)) 115 dev_notice(kdev, "%s", FDO_BUG_MSG); 116 shown_bug_once = true; 117 } 118 119 va_end(args); 120 } 121 122 #define i915_load_error(dev_priv, fmt, ...) \ > 123 __i915_printk(dev_priv, i915_load_error_level, fmt, ##__VA_ARGS__) 124 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation