diff options
author | 2006-12-15 14:01:49 -0800 | |
---|---|---|
committer | 2006-12-15 14:01:49 -0800 | |
commit | bf628dc22a09ed2022abb32c76011ae5f99ad6b0 (patch) | |
tree | c29aff97085d9426dffe1e648e09d4aca0ead024 /mm/truncate.c | |
parent | IB: Fix ib_dma_alloc_coherent() wrapper (diff) | |
download | linux-dev-bf628dc22a09ed2022abb32c76011ae5f99ad6b0.tar.xz linux-dev-bf628dc22a09ed2022abb32c76011ae5f99ad6b0.zip |
IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G
struct srp_device.fmr_page_mask was unsigned long, which means that
the top part of addresses above 4G was being chopped off on 32-bit
architectures. Of course nothing good happens when data from SRP
targets is DMAed to the wrong place.
Fix this by changing fmr_page_mask to u64, to match the addresses
actually used by IB devices.
Thanks to Brian Cain <Brian.Cain@ge.com> and David McMillen
<davem@systemfabricworks.com> for help diagnosing the bug and testing
the fix.
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'mm/truncate.c')
0 files changed, 0 insertions, 0 deletions