From: FUJITA Tomonori Date: Tue, 23 Oct 2007 07:32:25 +0000 (+0200) Subject: intel-iommu: fix sg_page() X-Git-Tag: v2.6.24-rc1~34^2~10 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=12d4d40e6fd583d32daeac0bc42123b23b7c40b7;p=linux-2.6-omap-h63xx.git intel-iommu: fix sg_page() Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe --- diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index b3d70310af4..0c4ab3b0727 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c @@ -1962,7 +1962,7 @@ static void intel_free_coherent(struct device *hwdev, size_t size, free_pages((unsigned long)vaddr, order); } -#define SG_ENT_VIRT_ADDRESS(sg) (page_address((sg)->page) + (sg)->offset) +#define SG_ENT_VIRT_ADDRESS(sg) (sg_virt((sg))) static void intel_unmap_sg(struct device *hwdev, struct scatterlist *sglist, int nelems, int dir) { @@ -2010,7 +2010,7 @@ static int intel_nontranslate_map_sg(struct device *hddev, struct scatterlist *sg; for_each_sg(sglist, sg, nelems, i) { - BUG_ON(!sg->page); + BUG_ON(!sg_page(sg)); sg->dma_address = virt_to_bus(SG_ENT_VIRT_ADDRESS(sg)); sg->dma_length = sg->length; }