X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fswiotlb.c;h=0af497b6b9a87f26b395e281cfd049a76a72ca41;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=10625785eefd90d412668fce760190b122569bb9;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/lib/swiotlb.c b/lib/swiotlb.c index 10625785e..0af497b6b 100644 --- a/lib/swiotlb.c +++ b/lib/swiotlb.c @@ -296,7 +296,8 @@ map_single(struct device *hwdev, char *buffer, size_t size, int dir) else stride = 1; - BUG_ON(!nslots); + if (!nslots) + BUG(); /* * Find suitable number of IO TLB entries size that will fit this @@ -415,14 +416,14 @@ sync_single(struct device *hwdev, char *dma_addr, size_t size, case SYNC_FOR_CPU: if (likely(dir == DMA_FROM_DEVICE || dir == DMA_BIDIRECTIONAL)) memcpy(buffer, dma_addr, size); - else - BUG_ON(dir != DMA_TO_DEVICE); + else if (dir != DMA_TO_DEVICE) + BUG(); break; case SYNC_FOR_DEVICE: if (likely(dir == DMA_TO_DEVICE || dir == DMA_BIDIRECTIONAL)) memcpy(dma_addr, buffer, size); - else - BUG_ON(dir != DMA_FROM_DEVICE); + else if (dir != DMA_FROM_DEVICE) + BUG(); break; default: BUG(); @@ -528,7 +529,8 @@ swiotlb_map_single(struct device *hwdev, void *ptr, size_t size, int dir) unsigned long dev_addr = virt_to_phys(ptr); void *map; - BUG_ON(dir == DMA_NONE); + if (dir == DMA_NONE) + BUG(); /* * If the pointer passed in happens to be in the device's DMA window, * we can safely return the device addr and not worry about bounce @@ -590,7 +592,8 @@ swiotlb_unmap_single(struct device *hwdev, dma_addr_t dev_addr, size_t size, { char *dma_addr = phys_to_virt(dev_addr); - BUG_ON(dir == DMA_NONE); + if (dir == DMA_NONE) + BUG(); if (dma_addr >= io_tlb_start && dma_addr < io_tlb_end) unmap_single(hwdev, dma_addr, size, dir); else if (dir == DMA_FROM_DEVICE) @@ -613,7 +616,8 @@ swiotlb_sync_single(struct device *hwdev, dma_addr_t dev_addr, { char *dma_addr = phys_to_virt(dev_addr); - BUG_ON(dir == DMA_NONE); + if (dir == DMA_NONE) + BUG(); if (dma_addr >= io_tlb_start && dma_addr < io_tlb_end) sync_single(hwdev, dma_addr, size, dir, target); else if (dir == DMA_FROM_DEVICE) @@ -644,7 +648,8 @@ swiotlb_sync_single_range(struct device *hwdev, dma_addr_t dev_addr, { char *dma_addr = phys_to_virt(dev_addr) + offset; - BUG_ON(dir == DMA_NONE); + if (dir == DMA_NONE) + BUG(); if (dma_addr >= io_tlb_start && dma_addr < io_tlb_end) sync_single(hwdev, dma_addr, size, dir, target); else if (dir == DMA_FROM_DEVICE) @@ -691,7 +696,8 @@ swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg, int nelems, unsigned long dev_addr; int i; - BUG_ON(dir == DMA_NONE); + if (dir == DMA_NONE) + BUG(); for (i = 0; i < nelems; i++, sg++) { addr = SG_ENT_VIRT_ADDRESS(sg); @@ -724,7 +730,8 @@ swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sg, int nelems, { int i; - BUG_ON(dir == DMA_NONE); + if (dir == DMA_NONE) + BUG(); for (i = 0; i < nelems; i++, sg++) if (sg->dma_address != SG_ENT_PHYS_ADDRESS(sg)) @@ -746,7 +753,8 @@ swiotlb_sync_sg(struct device *hwdev, struct scatterlist *sg, { int i; - BUG_ON(dir == DMA_NONE); + if (dir == DMA_NONE) + BUG(); for (i = 0; i < nelems; i++, sg++) if (sg->dma_address != SG_ENT_PHYS_ADDRESS(sg))