Commit 3c01e012 authored by Michal Wajdeczko's avatar Michal Wajdeczko

drm/xe/guc: Treat non-response message after BUSY as unexpected

Once GuC replied with GUC_HXG_TYPE_NO_RESPONSE_BUSY message then
we may expect that only RESPONSE_SUCCESS or FAILURE message will
be sent, anything else is a violation of the HXG protocol.

Cc: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20240111154838.541-1-michal.wajdeczko@intel.comSigned-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
parent 88cbf850
......@@ -731,8 +731,12 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
if (unlikely(FIELD_GET(GUC_HXG_MSG_0_ORIGIN, header) !=
GUC_HXG_ORIGIN_GUC))
goto proto;
if (unlikely(ret))
if (unlikely(ret)) {
if (FIELD_GET(GUC_HXG_MSG_0_TYPE, header) !=
GUC_HXG_TYPE_NO_RESPONSE_BUSY)
goto proto;
goto timeout;
}
}
if (FIELD_GET(GUC_HXG_MSG_0_TYPE, header) ==
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment