From 5bbde9b80fe2e6a384db5d636725b8f8065bc5c5 Mon Sep 17 00:00:00 2001 From: Kevin Strasser Date: Tue, 3 Apr 2018 14:21:34 -0700 Subject: [PATCH] anv: Fix close(fd) before import issue in vkCreateDmaBufImageINTEL If we close the fd before calling DRM_IOCTL_PRIME_FD_TO_HANDLE the kernel will hit a -EBADF error. Move the close(fd) call to the end of anv_CreateDmaBufImageINTEL(). Signed-off-by: Kevin Strasser Reviewed-by: Jason Ekstrand --- src/intel/vulkan/anv_intel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/intel/vulkan/anv_intel.c b/src/intel/vulkan/anv_intel.c index 82373f0..976c833 100644 --- a/src/intel/vulkan/anv_intel.c +++ b/src/intel/vulkan/anv_intel.c @@ -71,8 +71,6 @@ VkResult anv_CreateDmaBufImageINTEL( if (result != VK_SUCCESS) goto fail; - close(pCreateInfo->fd); - image = anv_image_from_handle(image_h); result = anv_bo_cache_import(device, &device->bo_cache, @@ -105,6 +103,8 @@ VkResult anv_CreateDmaBufImageINTEL( *pMem = anv_device_memory_to_handle(mem); *pImage = anv_image_to_handle(image); + close(pCreateInfo->fd); + return VK_SUCCESS; fail_import: -- 2.7.4