[Freedreno] [PATCH] drm/msm: return fence_fd = -1 if gem_submit fails

Gustavo Padovan gustavo at padovan.org
Mon Dec 12 19:41:08 UTC 2016


From: Gustavo Padovan <gustavo.padovan at collabora.co.uk>

Previously we were returning garbage here, fix it by setting it to -1
before the first possible point of failure.

Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
---
 drivers/gpu/drm/msm/msm_gem_submit.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c
index 166e84e..c102b55 100644
--- a/drivers/gpu/drm/msm/msm_gem_submit.c
+++ b/drivers/gpu/drm/msm/msm_gem_submit.c
@@ -383,10 +383,13 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
 	struct msm_gpu *gpu = priv->gpu;
 	struct dma_fence *in_fence = NULL;
 	struct sync_file *sync_file = NULL;
+	int in_fence_fd = args->fence_fd;
 	int out_fence_fd = -1;
 	unsigned i;
 	int ret;
 
+	args->fence_fd = -1;
+
 	if (!gpu)
 		return -ENXIO;
 
@@ -427,7 +430,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
 		goto out;
 
 	if (args->flags & MSM_SUBMIT_FENCE_FD_IN) {
-		in_fence = sync_file_get_fence(args->fence_fd);
+		in_fence = sync_file_get_fence(in_fence_fd);
 
 		if (!in_fence) {
 			ret = -EINVAL;
-- 
2.5.5



More information about the Freedreno mailing list