Commit 419c434c35614609fd0c79d335c134bf4b88b30b

Authored by Yang Shi
Committed by Jens Axboe
1 parent e3790c7d42

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>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

block/blk-settings.c
... ... @@ -140,7 +140,7 @@
140 140 /* Assume anything <= 4GB can be handled by IOMMU.
141 141 Actually some IOMMUs can handle everything, but I don't
142 142 know of a way to test this here. */
143   - if (b_pfn < (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
  143 + if (b_pfn <= (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
144 144 dma = 1;
145 145 q->bounce_pfn = max_low_pfn;
146 146 #else