diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-02-04 14:54:56 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-04 14:54:56 +0100 |
commit | bb960a1e42042e82447a5bc0941b3ab6d614bac3 (patch) | |
tree | d2295a923fabb1b01b25bb015c4c2e42ee9df5ca /arch/powerpc/kernel/vio.c | |
parent | 858770619debfb9269add63e4ba8b7c6b5538dd1 (diff) | |
parent | 06fc732c33a7ff5e4c91bcf4a6ca86b5e335ad9a (diff) |
Merge branch 'core/xen' into x86/urgent
Diffstat (limited to 'arch/powerpc/kernel/vio.c')
-rw-r--r-- | arch/powerpc/kernel/vio.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c index 94aa7b011b27..d3694498f3af 100644 --- a/arch/powerpc/kernel/vio.c +++ b/arch/powerpc/kernel/vio.c @@ -492,14 +492,14 @@ static void *vio_dma_iommu_alloc_coherent(struct device *dev, size_t size, struct vio_dev *viodev = to_vio_dev(dev); void *ret; - if (vio_cmo_alloc(viodev, roundup(size, IOMMU_PAGE_SIZE))) { + if (vio_cmo_alloc(viodev, roundup(size, PAGE_SIZE))) { atomic_inc(&viodev->cmo.allocs_failed); return NULL; } ret = dma_iommu_ops.alloc_coherent(dev, size, dma_handle, flag); if (unlikely(ret == NULL)) { - vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); + vio_cmo_dealloc(viodev, roundup(size, PAGE_SIZE)); atomic_inc(&viodev->cmo.allocs_failed); } @@ -513,7 +513,7 @@ static void vio_dma_iommu_free_coherent(struct device *dev, size_t size, dma_iommu_ops.free_coherent(dev, size, vaddr, dma_handle); - vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); + vio_cmo_dealloc(viodev, roundup(size, PAGE_SIZE)); } static dma_addr_t vio_dma_iommu_map_page(struct device *dev, struct page *page, @@ -572,6 +572,7 @@ static int vio_dma_iommu_map_sg(struct device *dev, struct scatterlist *sglist, if (unlikely(!ret)) { vio_cmo_dealloc(viodev, alloc_size); atomic_inc(&viodev->cmo.allocs_failed); + return ret; } for (sgl = sglist, count = 0; count < ret; count++, sgl++) |