From c71d300e428ac38dfb29974272e51611e22623d7 Mon Sep 17 00:00:00 2001 From: Jianqun Xu Date: Tue, 21 Jun 2022 17:29:31 +0800 Subject: [PATCH] video: rockchip: mpp: reset buffer members when release buffer Reset the buffer members by: buffer->dma = NULL; buffer->dmabuf = NULL; buffer->attach = NULL; buffer->sgt = NULL; buffer->copy_sgt = NULL; buffer->iova = 0; buffer->size = 0; buffer->vaddr = NULL; buffer->last_used = 0; Signed-off-by: Jianqun Xu Change-Id: I83cf68f51a9db7894a01bca01b5a53c6d6932a5f --- drivers/video/rockchip/mpp/mpp_iommu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/video/rockchip/mpp/mpp_iommu.c b/drivers/video/rockchip/mpp/mpp_iommu.c index b221f2eeace0..067c91a78034 100644 --- a/drivers/video/rockchip/mpp/mpp_iommu.c +++ b/drivers/video/rockchip/mpp/mpp_iommu.c @@ -67,6 +67,15 @@ static void mpp_dma_release_buffer(struct kref *ref) dma_buf_unmap_attachment(buffer->attach, buffer->sgt, buffer->dir); dma_buf_detach(buffer->dmabuf, buffer->attach); dma_buf_put(buffer->dmabuf); + buffer->dma = NULL; + buffer->dmabuf = NULL; + buffer->attach = NULL; + buffer->sgt = NULL; + buffer->copy_sgt = NULL; + buffer->iova = 0; + buffer->size = 0; + buffer->vaddr = NULL; + buffer->last_used = 0; } /* Remove the oldest buffer when count more than the setting */