summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
diff options
context:
space:
mode:
authorRoland Dreier2006-12-15 23:01:49 +0100
committerRoland Dreier2006-12-15 23:01:49 +0100
commitbf628dc22a09ed2022abb32c76011ae5f99ad6b0 (patch)
treec29aff97085d9426dffe1e648e09d4aca0ead024 /drivers/infiniband/ulp/ipoib/ipoib_multicast.c
parentIB: Fix ib_dma_alloc_coherent() wrapper (diff)
downloadkernel-qcow2-linux-bf628dc22a09ed2022abb32c76011ae5f99ad6b0.tar.gz
kernel-qcow2-linux-bf628dc22a09ed2022abb32c76011ae5f99ad6b0.tar.xz
kernel-qcow2-linux-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 'drivers/infiniband/ulp/ipoib/ipoib_multicast.c')
0 files changed, 0 insertions, 0 deletions