1. 15 Dec, 2006 2 commits
    • Roland Dreier's avatar
      IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G · bf628dc2
      Roland Dreier authored
      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: default avatarRoland Dreier <rolandd@cisco.com>
      bf628dc2
    • Roland Dreier's avatar
      IB: Fix ib_dma_alloc_coherent() wrapper · c59a3da1
      Roland Dreier authored
      The ib_dma_alloc_coherent() wrapper uses a u64* for the dma_handle
      parameter, unlike dma_alloc_coherent, which uses dma_addr_t*.  This
      means that we need a temporary variable to handle the case when
      ib_dma_alloc_coherent() just falls through directly to
      dma_alloc_coherent() on architectures where sizeof u64 != sizeof
      dma_addr_t.
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      c59a3da1
  2. 14 Dec, 2006 16 commits
  3. 13 Dec, 2006 22 commits