Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e9e10124 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds
Browse files

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: default avatarAlan Cox <alan@linux.intel.com>
Acked-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent edaba2c5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);
	}