[Intel-gfx] [PATCH v3] drm/i915: Mark i915.inject_load_failure as being hit
Michał Winiarski
michal.winiarski at intel.com
Wed Jun 6 14:50:09 UTC 2018
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 at chris-wilson.co.uk>
> Cc: Michał Winiarski <michal.winiarski at intel.com>
> Cc: Imre Deak <imre.deak at intel.com>
If the other Michał doesn't mind ;)
Reviewed-by: Michał Winiarski <michal.winiarski at intel.com>
-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
>
More information about the Intel-gfx
mailing list