diff options
Diffstat (limited to 'drivers/media')
-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) | |||
399 | int videobuf_pci_dma_map(struct pci_dev *pci,struct videobuf_dmabuf *dma) | 399 | int videobuf_pci_dma_map(struct pci_dev *pci,struct videobuf_dmabuf *dma) |
400 | { | 400 | { |
401 | struct videobuf_queue q; | 401 | struct videobuf_queue q; |
402 | struct videobuf_queue_ops qops; | ||
402 | 403 | ||
403 | q.dev=pci; | 404 | q.dev=pci; |
404 | q.ops->vb_map_sg=(vb_map_sg_t *)pci_unmap_sg; | 405 | qops.vb_map_sg=(vb_map_sg_t *)pci_map_sg; |
406 | qops.vb_unmap_sg=(vb_map_sg_t *)pci_unmap_sg; | ||
407 | q.ops = &qops; | ||
405 | 408 | ||
406 | return (videobuf_dma_unmap(&q,dma)); | 409 | return (videobuf_dma_map(&q,dma)); |
407 | } | 410 | } |
408 | 411 | ||
409 | int videobuf_pci_dma_unmap(struct pci_dev *pci,struct videobuf_dmabuf *dma) | 412 | int videobuf_pci_dma_unmap(struct pci_dev *pci,struct videobuf_dmabuf *dma) |
410 | { | 413 | { |
411 | struct videobuf_queue q; | 414 | struct videobuf_queue q; |
415 | struct videobuf_queue_ops qops; | ||
412 | 416 | ||
413 | q.dev=pci; | 417 | q.dev=pci; |
414 | q.ops->vb_map_sg=(vb_map_sg_t *)pci_unmap_sg; | 418 | qops.vb_map_sg=(vb_map_sg_t *)pci_map_sg; |
419 | qops.vb_unmap_sg=(vb_map_sg_t *)pci_unmap_sg; | ||
420 | q.ops = &qops; | ||
415 | 421 | ||
416 | return (videobuf_dma_unmap(&q,dma)); | 422 | return (videobuf_dma_unmap(&q,dma)); |
417 | } | 423 | } |