diff --git a/drivers/video/rockchip/mpp/mpp_common.c b/drivers/video/rockchip/mpp/mpp_common.c index 0f7bac8c1e47..f3e7fadfb0d4 100644 --- a/drivers/video/rockchip/mpp/mpp_common.c +++ b/drivers/video/rockchip/mpp/mpp_common.c @@ -375,9 +375,9 @@ static void mpp_session_deinit_default(struct mpp_session *session) mpp_session_clear(mpp, session); if (session->dma) { - mpp_iommu_down_read(mpp->iommu_info); + mpp_iommu_down_write(mpp->iommu_info); mpp_dma_session_destroy(session->dma); - mpp_iommu_up_read(mpp->iommu_info); + mpp_iommu_up_write(mpp->iommu_info); session->dma = NULL; } } @@ -1888,9 +1888,9 @@ int mpp_task_finalize(struct mpp_session *session, &task->mem_region_list, reg_link) { if (!mem_region->is_dup) { - mpp_iommu_down_read(mpp->iommu_info); + mpp_iommu_down_write(mpp->iommu_info); mpp_dma_release(session->dma, mem_region->hdl); - mpp_iommu_up_read(mpp->iommu_info); + mpp_iommu_up_write(mpp->iommu_info); } list_del_init(&mem_region->reg_link); }