V4L/DVB (5592): DMA: Correctly free resources on error, sync PCI streamed data
authorJon Burgess <jburgess777@googlemail.com>
Thu, 3 May 2007 15:23:44 +0000 (12:23 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 9 May 2007 13:12:42 +0000 (10:12 -0300)
commit87c3019d7b1acb7704a257d78c482112e9b0c227
tree312478a0bed426b3ca89bf4fae1880fed9986bd2
parent32a1db42480dc972e8e92be68d9e604f6aff5381
V4L/DVB (5592): DMA: Correctly free resources on error, sync PCI streamed data

I added saa7146_vmalloc_destroy_pgtable() which frees the resources
allocated by saa7146_vmalloc_build_pgtable() and updated the callers in
budget-core.c and av7110.c. I have also been through the updated
functions and updated the error paths to ensure they free all allocated
resources on error.
I also realised that there are other callers to saa7146_pgtable_free()
which did not have any sg DMA mapped so it seems wrong to add the
pci_unmap_sg() into that function. Instead I created
saa7146_vmalloc_destroy_pgtable() to do this.
Also included in this patch are the previous fixes for pci_unmap_sg()
and syncing the PCI streamed data to work with a SWIOTLB and match the
requirements documented in DMA-API.txt.

Signed-off-by: Jon Burgess <jburgess777@googlemail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/common/saa7146_core.c
drivers/media/dvb/ttpci/av7110.c
drivers/media/dvb/ttpci/budget-core.c
include/media/saa7146.h