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

Commit e88a39de authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by Jens Axboe
Browse files

x86: pci-gart fix



map_sg could copy the last sg element to another position (if merging
some elements). It breaks sg chaining. This copies only
dma_address/length instead of the whole sg element.

Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 82861924
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -338,7 +338,6 @@ static int __dma_map_cont(struct scatterlist *start, int nelems,
		
		BUG_ON(s != start && s->offset);
		if (s == start) {
			*sout = *s; 
			sout->dma_address = iommu_bus_base;
			sout->dma_address += iommu_page*PAGE_SIZE + s->offset;
			sout->dma_length = s->length;
@@ -365,7 +364,7 @@ static inline int dma_map_cont(struct scatterlist *start, int nelems,
{
	if (!need) {
		BUG_ON(nelems != 1);
		*sout = *start;
		sout->dma_address = start->dma_address;
		sout->dma_length = start->length;
		return 0;
	}