The patch titled Subject: media/v4l2-core: set pages dirty upon releasing DMA buffers has been removed from the -mm tree. Its filename was media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------ From: John Hubbard jhubbard@nvidia.com Subject: media/v4l2-core: set pages dirty upon releasing DMA buffers
After DMA is complete, and the device and CPU caches are synchronized, it's still required to mark the CPU pages as dirty, if the data was coming from the device. However, this driver was just issuing a bare put_page() call, without any set_page_dirty*() call.
Fix the problem, by calling set_page_dirty_lock() if the CPU pages were potentially receiving data from the device.
Link: http://lkml.kernel.org/r/20200107224558.2362728-11-jhubbard@nvidia.com Signed-off-by: John Hubbard jhubbard@nvidia.com Reviewed-by: Christoph Hellwig hch@lst.de Acked-by: Hans Verkuil hverkuil-cisco@xs4all.nl Cc: Mauro Carvalho Chehab mchehab@kernel.org Cc: stable@vger.kernel.org Cc: Alex Williamson alex.williamson@redhat.com Cc: Aneesh Kumar K.V aneesh.kumar@linux.ibm.com Cc: Björn Töpel bjorn.topel@intel.com Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Dan Williams dan.j.williams@intel.com Cc: Ira Weiny ira.weiny@intel.com Cc: Jan Kara jack@suse.cz Cc: Jason Gunthorpe jgg@mellanox.com Cc: Jason Gunthorpe jgg@ziepe.ca Cc: Jens Axboe axboe@kernel.dk Cc: Jerome Glisse jglisse@redhat.com Cc: Jonathan Corbet corbet@lwn.net Cc: Kirill A. Shutemov kirill@shutemov.name Cc: Leon Romanovsky leonro@mellanox.com Cc: Mike Rapoport rppt@linux.ibm.com Signed-off-by: Andrew Morton akpm@linux-foundation.org ---
drivers/media/v4l2-core/videobuf-dma-sg.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
--- a/drivers/media/v4l2-core/videobuf-dma-sg.c~media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers +++ a/drivers/media/v4l2-core/videobuf-dma-sg.c @@ -349,8 +349,11 @@ int videobuf_dma_free(struct videobuf_dm BUG_ON(dma->sglen);
if (dma->pages) { - for (i = 0; i < dma->nr_pages; i++) + for (i = 0; i < dma->nr_pages; i++) { + if (dma->direction == DMA_FROM_DEVICE) + set_page_dirty_lock(dma->pages[i]); put_page(dma->pages[i]); + } kfree(dma->pages); dma->pages = NULL; } _
Patches currently in -mm which might be from jhubbard@nvidia.com are