summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Shi <yang.shi@windriver.com>2008-03-04 10:20:51 (GMT)
committerJens Axboe <jens.axboe@oracle.com>2008-03-04 10:20:51 (GMT)
commit419c434c35614609fd0c79d335c134bf4b88b30b (patch)
treec2e076f6d0c61051dac3184f9f1255db1c680902
parente3790c7d42a545e8fe8b38b513613ca96687b670 (diff)
downloadlinux-419c434c35614609fd0c79d335c134bf4b88b30b.tar.xz
Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory
For some non-x86 systems with 4GB or upper 4GB memory, we need increase the range of addresses that can be used for direct DMA in 64-bit kernel. Signed-off-by: Yang Shi <yang.shi@windriver.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--block/blk-settings.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk-settings.c b/block/blk-settings.c
index a9f37f5..18fab51 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -140,7 +140,7 @@ void blk_queue_bounce_limit(struct request_queue *q, u64 dma_addr)
/* Assume anything <= 4GB can be handled by IOMMU.
Actually some IOMMUs can handle everything, but I don't
know of a way to test this here. */
- if (b_pfn < (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
+ if (b_pfn <= (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
dma = 1;
q->bounce_pfn = max_low_pfn;
#else