[Intel-gfx] [PATCH 06/16] drm/i915/error: Check the potential ctx obj's vm

Daniel Vetter daniel at ffwll.ch
Thu Jul 17 10:47:48 CEST 2014


On Tue, Jul 01, 2014 at 11:17:41AM -0700, Ben Widawsky wrote:
> The bound list is global (all objects which back the VMAs are stored
> here). Recently the BUG() in the offset lookup was demoted to a WARN,
> but the fault actually lies in the caller, here.
> 
> This bug has existed since the initial introduction of PPGTT (however,
> it was fixed in unmerged patches to fix up the error state).

Aside: This is another bug than the one which spurred me to demote the
BUG_ON to a WARN_ON. Patch merged with that patch referenced for clarity.
-Daniel

> 
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> ---
>  drivers/gpu/drm/i915/i915_gpu_error.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index 66cf417..550ba38 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -871,6 +871,9 @@ static void i915_gem_record_active_context(struct intel_engine_cs *ring,
>  		return;
>  
>  	list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) {
> +		if (!i915_gem_obj_ggtt_bound(obj))
> +			continue;
> +
>  		if ((error->ccid & PAGE_MASK) == i915_gem_obj_ggtt_offset(obj)) {
>  			ering->ctx = i915_error_ggtt_object_create(dev_priv, obj);
>  			break;
> -- 
> 2.0.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list