[PATCH] drm/vmwgfx: Propagate error on failed ioctl

Philipp Sieweck psi at informatik.uni-kiel.de
Sun Mar 13 05:06:55 UTC 2022


The cases of vmw_user_bo_synccpu_grab failing with -ERESTARTSYS or -EBUSY
are handled in vmw_user_bo_synccpu_ioctl by not printing an error message.
However, the error value gets discarded, indicating success. This leads
to rendering glitches and a reported drm error on the next ioctl call to
release the handle.

This patch propagates the error value from vmw_user_synccpu_grab.

Signed-off-by: Philipp Sieweck <psi at informatik.uni-kiel.de>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_bo.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c
index 31aecc46624b..81fe4dc5e6ab 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c
@@ -621,6 +621,8 @@ int vmw_user_bo_synccpu_ioctl(struct drm_device *dev, void *data,
 				  (unsigned int) arg->handle);
 			return ret;
 		}
+		if (unlikely(ret != 0))
+			return ret;
 		break;
 	case drm_vmw_synccpu_release:
 		ret = vmw_user_bo_synccpu_release(file_priv,
-- 
2.35.1



More information about the dri-devel mailing list