From e615db854bd74a220c0e931f82997712150e5784 Mon Sep 17 00:00:00 2001 From: Casey Dahlin Date: Thu, 20 Aug 2009 16:27:56 -0700 Subject: [PATCH] --- yaml --- r: 158063 b: refs/heads/master c: c7084b35eb1a4d3353a501508baf9d3d82822c93 h: refs/heads/master i: 158061: 5e829d3ebb5a39f8cdad91427ad52163f72dd085 158059: 8e0b2987e549dcc72b690dd8028007600e4bc8ed 158055: 74f74b66db74fee3b4eb64048e5230c13ee7595b 158047: 5291ca3c4e279efe50036477b2ff60a535bd0dbc v: v3 --- [refs] | 2 +- trunk/lib/swiotlb.c | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index ada06ed75f89..95b68105aa0c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 451d7400a34cb679369e337d67f0238ed410f484 +refs/heads/master: c7084b35eb1a4d3353a501508baf9d3d82822c93 diff --git a/trunk/lib/swiotlb.c b/trunk/lib/swiotlb.c index 9e2fe3e1804c..ac25cd28e807 100644 --- a/trunk/lib/swiotlb.c +++ b/trunk/lib/swiotlb.c @@ -581,12 +581,15 @@ swiotlb_full(struct device *dev, size_t size, int dir, int do_panic) printk(KERN_ERR "DMA: Out of SW-IOMMU space for %zu bytes at " "device %s\n", size, dev ? dev_name(dev) : "?"); - if (size > io_tlb_overflow && do_panic) { - if (dir == DMA_FROM_DEVICE || dir == DMA_BIDIRECTIONAL) - panic("DMA: Memory would be corrupted\n"); - if (dir == DMA_TO_DEVICE || dir == DMA_BIDIRECTIONAL) - panic("DMA: Random memory would be DMAed\n"); - } + if (size <= io_tlb_overflow || !do_panic) + return; + + if (dir == DMA_BIDIRECTIONAL) + panic("DMA: Random memory could be DMA accessed\n"); + if (dir == DMA_FROM_DEVICE) + panic("DMA: Random memory could be DMA written\n"); + if (dir == DMA_TO_DEVICE) + panic("DMA: Random memory could be DMA read\n"); } /*