summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorRicardo Cerqueira <devnull@localhost>2006-03-26 18:37:23 +0100
committerRicardo Cerqueira <devnull@localhost>2006-03-26 18:37:23 +0100
commitf637ab4e875bd28b68bbd4d776c2071683050b5c (patch)
tree3da8d0fcf344fed8553644ea2a00513a5f64f84e /linux/drivers
parenteef209698fa363311251b4e0be6f874f837d3da3 (diff)
downloadmediapointer-dvb-s2-f637ab4e875bd28b68bbd4d776c2071683050b5c.tar.gz
mediapointer-dvb-s2-f637ab4e875bd28b68bbd4d776c2071683050b5c.tar.bz2
Fix video-buf PCI wrappers
From: Ricardo Cerqueira <v4l@cerqueira.org> 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>
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/video/video-buf.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/linux/drivers/media/video/video-buf.c b/linux/drivers/media/video/video-buf.c
index 715feea6b..4ae4e1e7a 100644
--- a/linux/drivers/media/video/video-buf.c
+++ b/linux/drivers/media/video/video-buf.c
@@ -406,19 +406,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));
}