media: rockchip: vicap fix current files is NULL when release fd

Change-Id: I1a0907bcf2c75518e8998df3d50136008d3a67f7
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
This commit is contained in:
Jianwei Fan
2024-05-08 18:47:49 +08:00
committed by Tao Huang
parent b911658d78
commit a4c4ab2f3a

View File

@@ -5080,6 +5080,7 @@ static void rkcif_free_fence(struct rkcif_stream *stream)
unsigned long lock_flags = 0;
struct rkcif_fence *vb_fence, *done_fence;
struct v4l2_device *v4l2_dev = &stream->cifdev->v4l2_dev;
struct files_struct *files = current->files;
LIST_HEAD(local_list);
spin_lock_irqsave(&stream->fence_lock, lock_flags);
@@ -5100,8 +5101,10 @@ static void rkcif_free_fence(struct rkcif_stream *stream)
v4l2_dbg(2, rkcif_debug, v4l2_dev, "%s: free qbuf_fence fd:%d\n",
__func__, vb_fence->fence_fd);
dma_fence_put(vb_fence->fence);
put_unused_fd(vb_fence->fence_fd);
close_fd(vb_fence->fence_fd);
if (files) {
put_unused_fd(vb_fence->fence_fd);
close_fd(vb_fence->fence_fd);
}
kfree(vb_fence);
}
@@ -5115,8 +5118,10 @@ static void rkcif_free_fence(struct rkcif_stream *stream)
v4l2_dbg(2, rkcif_debug, v4l2_dev, "%s: free done_fence fd:%d\n",
__func__, done_fence->fence_fd);
dma_fence_put(done_fence->fence);
put_unused_fd(done_fence->fence_fd);
close_fd(done_fence->fence_fd);
if (files) {
put_unused_fd(done_fence->fence_fd);
close_fd(done_fence->fence_fd);
}
kfree(done_fence);
}
}