mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user