lkml.org 
[lkml]   [2005]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 2.6.13 (take #2)] swiotlb: BUG() for DMA_NONE in sync_single
    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/
    \
     
     \ /
      Last update: 2005-09-13 01:49    [W:4.672 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site