Re: drm/i915: Avoid accessing the stolen address when it isunavailable

From: Chris Wilson
Date: Thu Oct 24 2013 - 08:17:20 EST


On Fri, Oct 25, 2013 at 12:33:47AM +0800, Chuansheng Liu wrote:
>
> In our platform, we hit the the stolen region initialization failure case,
> such as below log:
> [drm:i915_stolen_to_physical] *ERROR* conflict detected with stolen region: [0x7b000000]
>
> And it causes the dev_priv->mm.stolen_base is NULL, in this case, we should
> avoid accessing it any more.
>
> Here is possible call trace:
> intel_enable_gt_powersave -- >
> valleyview_enable_rps -- >
> valleyview_setup_pctx

The two create_stolen routines are no-ops in that case so all that
happens instead is that we read VLV_PCBR. However, really if
i915_gem_object_create_stolen_for_preallocated() fails we should abort
loading the driver as it means we have a hardware conflict and undefined
behaviour.
-Chris

--
Chris Wilson, Intel Open Source Technology Centre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/