From 221a6986ba8aeceb6f7dd5a015e3133fd7098b49 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Tue, 30 May 2023 09:19:50 -0700 Subject: [PATCH] freedreno: Handle export error handling Signed-off-by: Rob Clark Part-of: --- src/gallium/drivers/freedreno/freedreno_screen.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index bf2b37b5391..918f390b75b 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -883,11 +883,17 @@ fd_screen_bo_get_handle(struct pipe_screen *pscreen, struct fd_bo *bo, if (screen->ro) { return renderonly_get_handle(scanout, whandle); } else { - whandle->handle = fd_bo_handle(bo); + uint32_t handle = fd_bo_handle(bo); + if (!handle) + return false; + whandle->handle = handle; return true; } } else if (whandle->type == WINSYS_HANDLE_TYPE_FD) { - whandle->handle = fd_bo_dmabuf(bo); + int fd = fd_bo_dmabuf(bo); + if (fd < 0) + return false; + whandle->handle = fd; return true; } else { return false;