On Wed, Jun 06, 2018 at 03:41:53PM +0100, Chris Wilson wrote: > When we reach the magic value and do inject a fault into our module load, > mark the module option as being hit. Since we fail from inside pci > probe, the module load isn't actually aborted and the module (and > paramters) are left lingering. igt can then inspect the parameter on its > synchronous completion of modprobe to see if the fault injection was > successful, and will keeping on injecting new faults until the module > succeeds in loading having surpassed the number of fault points. > > v2: Reset to 0 after being hit; > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Michał Winiarski <michal.winiarski@xxxxxxxxx> > Cc: Imre Deak <imre.deak@xxxxxxxxx> If the other Michał doesn't mind ;) Reviewed-by: Michał Winiarski <michal.winiarski@xxxxxxxxx> -Michał > --- > drivers/gpu/drm/i915/i915_drv.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index 6b599b1837dc..be71fdf8d92e 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -67,6 +67,7 @@ bool __i915_inject_load_failure(const char *func, int line) > if (++i915_load_fail_count == i915_modparams.inject_load_failure) { > DRM_INFO("Injecting failure at checkpoint %u [%s:%d]\n", > i915_modparams.inject_load_failure, func, line); > + i915_modparams.inject_load_failure = 0; > return true; > } > > @@ -117,16 +118,15 @@ __i915_printk(struct drm_i915_private *dev_priv, const char *level, > static bool i915_error_injected(struct drm_i915_private *dev_priv) > { > #if IS_ENABLED(CONFIG_DRM_I915_DEBUG) > - return i915_modparams.inject_load_failure && > - i915_load_fail_count == i915_modparams.inject_load_failure; > + return i915_load_fail_count && !i915_modparams.inject_load_failure; > #else > return false; > #endif > } > > -#define i915_load_error(dev_priv, fmt, ...) \ > - __i915_printk(dev_priv, \ > - i915_error_injected(dev_priv) ? KERN_DEBUG : KERN_ERR, \ > +#define i915_load_error(i915, fmt, ...) \ > + __i915_printk(i915, \ > + i915_error_injected(i915) ? KERN_DEBUG : KERN_ERR, \ > fmt, ##__VA_ARGS__) > > /* Map PCH device id to PCH type, or PCH_NONE if unknown. */ > -- > 2.17.1 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx