diff options
author | Ricardo Cerqueira <v4l@cerqueira.org> | 2006-03-27 16:16:31 +0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-04-02 11:55:12 +0400 |
commit | 731f902edaf3ed16f8ed9e92d79e3d0d17af608f (patch) | |
tree | bbcb437c22904c8ae7e597649b280c40e2c0e199 | |
parent | 8dbc5ece9a6a424eb03f1eeee2774c42d8db1ce4 (diff) | |
download | linux-731f902edaf3ed16f8ed9e92d79e3d0d17af608f.tar.xz |
V4L/DVB (3620): Fix video-buf PCI wrappers
After the recent video-buf "generic" adaptation, the PCI wrappers got
completely broken, and all of the DMA sound modules stopped working (and
failed with an oops)
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/video-buf.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/media/video/video-buf.c b/drivers/media/video/video-buf.c index fb09c43c0333..acc5ea936687 100644 --- a/drivers/media/video/video-buf.c +++ b/drivers/media/video/video-buf.c @@ -399,19 +399,25 @@ void videobuf_queue_pci(struct videobuf_queue* q) int videobuf_pci_dma_map(struct pci_dev *pci,struct videobuf_dmabuf *dma) { struct videobuf_queue q; + struct videobuf_queue_ops qops; q.dev=pci; - q.ops->vb_map_sg=(vb_map_sg_t *)pci_unmap_sg; + qops.vb_map_sg=(vb_map_sg_t *)pci_map_sg; + qops.vb_unmap_sg=(vb_map_sg_t *)pci_unmap_sg; + q.ops = &qops; - return (videobuf_dma_unmap(&q,dma)); + return (videobuf_dma_map(&q,dma)); } int videobuf_pci_dma_unmap(struct pci_dev *pci,struct videobuf_dmabuf *dma) { struct videobuf_queue q; + struct videobuf_queue_ops qops; q.dev=pci; - q.ops->vb_map_sg=(vb_map_sg_t *)pci_unmap_sg; + qops.vb_map_sg=(vb_map_sg_t *)pci_map_sg; + qops.vb_unmap_sg=(vb_map_sg_t *)pci_unmap_sg; + q.ops = &qops; return (videobuf_dma_unmap(&q,dma)); } |