GuC IRQ and tasklet handler receive just single G2H message, and let other messages to be received from next tasklet. During this chained tasklet process, if reset process started, communication will be disabled. Skip warning for this condition.
Fixes: 65dd4ed0f4e1 ("drm/i915/guc: Don't receive all G2H messages in irq handler") Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14834 Signed-off-by: Zhanjun Dong <zhanjun.d...@intel.com> --- History: v2: Update subject text, removed fixup --- drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c index 380a11c92d63..baeaa437c174 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c @@ -1326,8 +1326,12 @@ static void ct_try_receive_message(struct intel_guc_ct *ct) { int ret; - if (GEM_WARN_ON(!ct->enabled)) + if (!ct->enabled) { + struct intel_gt *gt = guc_to_gt(ct_to_guc(ct)); + + GEM_WARN_ON(!gt->uc.reset_in_progress); return; + } ret = ct_receive(ct); if (ret > 0) -- 2.34.1