ivtv: Fix PCI DMA direction
The ivtv stream buffers may be for receive or for send but the attached sg handle is always destined cpu->device. We flush it correctly but the allocation is wrongly done with the same type as the buffers. See bug: http://bugzilla.kernel.org/show_bug.cgi?id=13385 (Note this doesn't close the bug - it fixes the ivtv part and in turn the logging next shows up some rather alarming DMA sg list warnings in libata) Signed-off-by: Alan Cox <alan@linux.intel.com> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
edaba2c533
Коммит
e9e10124e2
|
@ -230,7 +230,8 @@ int ivtv_stream_alloc(struct ivtv_stream *s)
|
|||
return -ENOMEM;
|
||||
}
|
||||
if (ivtv_might_use_dma(s)) {
|
||||
s->sg_handle = pci_map_single(itv->pdev, s->sg_dma, sizeof(struct ivtv_sg_element), s->dma);
|
||||
s->sg_handle = pci_map_single(itv->pdev, s->sg_dma,
|
||||
sizeof(struct ivtv_sg_element), PCI_DMA_TODEVICE);
|
||||
ivtv_stream_sync_for_cpu(s);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче