iris: Fix return of xe_batch_submit() when exec fails
authorJosé Roberto de Souza <jose.souza@intel.com>
Fri, 19 May 2023 19:31:43 +0000 (12:31 -0700)
committerMarge Bot <emma+marge@anholt.net>
Fri, 19 May 2023 21:58:46 +0000 (21:58 +0000)
When intel_ioctl(DRM_IOCTL_XE_EXEC) fails it returns -1 sets errno
with the fail reason.
This fail reason is than is used to know if engine was banned in
context_or_engine_was_banned().

Not adding a fixes tag because Xe is not enabled by default.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23139>

src/gallium/drivers/iris/xe/iris_kmd_backend.c

index ae0f006..0d0c58b 100644 (file)
@@ -262,6 +262,9 @@ xe_batch_submit(struct iris_batch *batch)
    if (!batch->screen->devinfo->no_hw)
        ret = intel_ioctl(iris_bufmgr_get_fd(bufmgr), DRM_IOCTL_XE_EXEC, &exec);
 
+   if (ret)
+      ret = -errno;
+
    simple_mtx_unlock(bo_deps_lock);
 
    free(syncs);