[Intel-gfx] [PATCH] drm/i915/guc: Check for wedged before doing stuff

John Harrison john.c.harrison at intel.com
Thu Dec 16 20:30:41 UTC 2021


On 12/16/2021 00:47, Tvrtko Ursulin wrote:
> On 15/12/2021 22:45, John.C.Harrison at Intel.com wrote:
>> From: John Harrison <John.C.Harrison at Intel.com>
>>
>> A fault injection probe test hit a BUG_ON in a GuC error path. It
>> showed that the GuC code could potentially attempt to do many things
>> when the device is actually wedged. So, add a check in to prevent that.
>>
>> Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
>> ---
>>   drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
>> b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> index 97311119da6f..88f002c4d41b 100644
>> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> @@ -1350,7 +1350,8 @@ submission_disabled(struct intel_guc *guc)
>>       struct i915_sched_engine * const sched_engine = guc->sched_engine;
>>         return unlikely(!sched_engine ||
>> - !__tasklet_is_enabled(&sched_engine->tasklet));
>> + !__tasklet_is_enabled(&sched_engine->tasklet) ||
>> +            test_bit(I915_WEDGED, &guc_to_gt(guc)->reset.flags));
>
> Or intel_gt_is_wedged ?
Hmm. I just copied the test from somewhere else. Is there any particular 
reason why other bits of code would be doing the explicit test_bit 
rather than calling the helper? I see the helper has a BUG_ON. Can that 
fire if called at the wrong time in the reset path?

John.

>
> Regards,
>
> Tvrtko
>
>>   }
>>     static void disable_submission(struct intel_guc *guc)
>>



More information about the dri-devel mailing list