[patch 2.6.13 (take #2)] swiotlb: BUG() for DMA_NONE in sync_single

From: John W. Linville (linville_at_tuxdriver.com)
Date: 09/13/05

  • Next message: Lion Vollnhals: "[PATCH] [v2] drivers/base/*: use kzalloc instead of kmalloc+memset"
    Date:	Mon, 12 Sep 2005 19:45:34 -0400
    To: Grant Grundler <iod00d@hp.com>
    
    

    Call BUG() if DMA_NONE is passed-in as direction for sync_single.
    Also remove unnecessary checks for DMA_NONE in callers of sync_single.

    Signed-off-by: John W. Linville <linville@tuxdriver.com>

    ---
    This patch replaces the previous patch with (almost) the same subject.
     lib/swiotlb.c |   11 ++---------
     1 files changed, 2 insertions(+), 9 deletions(-)
    diff --git a/lib/swiotlb.c b/lib/swiotlb.c
    --- a/lib/swiotlb.c
    +++ b/lib/swiotlb.c
    @@ -315,13 +315,13 @@ sync_single(struct device *hwdev, char *
     	case SYNC_FOR_CPU:
     		if (likely(dir == DMA_FROM_DEVICE || dma == DMA_BIDIRECTIONAL))
     			memcpy(buffer, dma_addr, size);
    -		else if (dir != DMA_TO_DEVICE && dir != DMA_NONE)
    +		else if (dir != DMA_TO_DEVICE)
     			BUG();
     		break;
     	case SYNC_FOR_DEVICE:
     		if (likely(dir == DMA_TO_DEVICE || dma == DMA_BIDIRECTIONAL))
     			memcpy(dma_addr, buffer, size);
    -		else if (dir != DMA_FROM_DEVICE && dir != DMA_NONE)
    +		else if (dir != DMA_FROM_DEVICE)
     			BUG();
     		break;
     	default:
    @@ -515,8 +515,6 @@ swiotlb_sync_single(struct device *hwdev
     {
     	char *dma_addr = phys_to_virt(dev_addr);
     
    -	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)
    @@ -547,8 +545,6 @@ swiotlb_sync_single_range(struct device 
     {
     	char *dma_addr = phys_to_virt(dev_addr) + offset;
     
    -	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)
    @@ -651,9 +647,6 @@ swiotlb_sync_sg(struct device *hwdev, st
     {
     	int i;
     
    -	if (dir == DMA_NONE)
    -		BUG();
    -
     	for (i = 0; i < nelems; i++, sg++)
     		if (sg->dma_address != SG_ENT_PHYS_ADDRESS(sg))
     			sync_single(hwdev, (void *) sg->dma_address,
    -- 
    John W. Linville
    linville@tuxdriver.com
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    

  • Next message: Lion Vollnhals: "[PATCH] [v2] drivers/base/*: use kzalloc instead of kmalloc+memset"

    Relevant Pages