mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 19:43:40 +02:00
drm/xe/gsc: Add status check during gsc header readout
Before checking if data is present in the message reply check the status in header and see if it indicates any error. --v2 - Use drm_err() instead of drm_dbg_kms() [Daniele] --v3 - Use &xe->drm in drm_err to make it more cleaner [Daniele] Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240124045248.687023-1-suraj.kandpal@intel.com
This commit is contained in:
parent
5bd24e7882
commit
d6beadc8d7
|
|
@ -125,11 +125,18 @@ int xe_gsc_read_out_header(struct xe_device *xe,
|
|||
{
|
||||
u32 marker = mtl_gsc_header_rd(xe, map, offset, validity_marker);
|
||||
u32 size = mtl_gsc_header_rd(xe, map, offset, message_size);
|
||||
u32 status = mtl_gsc_header_rd(xe, map, offset, status);
|
||||
u32 payload_size = size - GSC_HDR_SIZE;
|
||||
|
||||
if (marker != GSC_HECI_VALIDITY_MARKER)
|
||||
return -EPROTO;
|
||||
|
||||
if (status != 0) {
|
||||
drm_err(&xe->drm, "GSC header readout indicates error: %d\n",
|
||||
status);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (size < GSC_HDR_SIZE || payload_size < min_payload_size)
|
||||
return -ENODATA;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user