Skip to contentSkip to conversation

alpha: fix sg_page breakage

PATCH Applied FUJITA Tomonori 2 participants 3 messages Nov 19, 2007 – Nov 21, 2007 Alpha port

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 alpha: fix sg_page breakage

---
 arch/alpha/kernel/pci-noop.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)
arch/alpha/kernel/pci-noop.c +8 -6
index 174b729..468b76c 100644
@@ -12,6 +12,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/dma-mapping.h>
+#include <linux/scatterlist.h>
 
 #include "proto.h"
 
@@ -172,18 +173,19 @@ dma_alloc_coherent(struct device *dev, size_t size,
 EXPORT_SYMBOL(dma_alloc_coherent);
 
 int
-dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
+dma_map_sg(struct device *dev, struct scatterlist *sgl, int nents,
 	   enum dma_data_direction direction)
 {
 	int i;
+	struct scatterlist *sg;
 
-	for (i = 0; i < nents; i++ ) {
+	for_each_sg(sgl, sg, nents, i) {
 		void *va;
 
-		BUG_ON(!sg[i].page);
-		va = page_address(sg[i].page) + sg[i].offset;
-		sg_dma_address(sg + i) = (dma_addr_t)virt_to_bus(va);
-		sg_dma_len(sg + i) = sg[i].length;
+		BUG_ON(!sg_page(sg));
+		va = sg_virt(sg);
+		sg_dma_address(sg) = (dma_addr_t)virt_to_bus(va);
+		sg_dma_len(sg) = sg->length;
 	}
 
 	return nents;
Signature · 1 line
1.5.3.4
#1 lore raw

arch/alpha/kernel/pci-noop.c

Quoted 6 lines · On Tue, 20 Nov 2007 00:00:41 +0900 FUJITA Tomonori <[email protected]> wrote:
---
 arch/alpha/kernel/pci-noop.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)
arch/alpha/kernel/pci-noop.c +0 -0

Oops, this should have been [PATCH 1/2] and 'kill deprecated virt_to_bus' should have been [PATCH 2/2].

Thanks,