1. 22 6月, 2007 2 次提交
    • M
      IPoIB/cm: Initialize RX before moving QP to RTR · 3ec7393a
      Michael S. Tsirkin 提交于
      Fix a crasher bug in IPoIB CM: once a QP is in the RTR state, a
      receive completion (or even an asynchronous error) might be observed
      on this QP, so we have to initialize all of our receive data
      structures before moving to the RTR state.
      
      As an optimization (since modify_qp might take a long time), the
      jiffies update done when moving RX to the passive_ids list is also
      left in place to reduce the chance of the RX being misdetected as
      stale.
      
      This fixes bug <https://bugs.openfabrics.org/show_bug.cgi?id=662>.
      Signed-off-by: NMichael S. Tsirkin <mst@dev.mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      3ec7393a
    • R
      IB/umem: Fix possible hang on process exit · 24bce508
      Roland Dreier 提交于
      If ib_umem_release() is called after ib_uverbs_close() sets context->closing,
      then a process can get stuck in a D state, because the code boils down to
      
      	if (down_write_trylock(&mm->mmap_sem))
      		down_write(&mm->mmap_sem);
      
      which is obviously a stupid instant deadlock.  Fix the code so that we
      only try to take the lock once.
      
      This bug was introduced in commit f7c6a7b5 ("IB/uverbs: Export
      ib_umem_get()/ib_umem_release() to modules") which fortunately never
      made it into a release, and was reported by Pete Wyckoff <pw@osc.edu>.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      24bce508
  2. 21 6月, 2007 4 次提交
  3. 19 6月, 2007 2 次提交
  4. 18 6月, 2007 4 次提交
    • R
      IB/mlx4: Handle FW command interface rev 3 · 5ae2a7a8
      Roland Dreier 提交于
      Upcoming firmware introduces command interface revision 3, which
      changes the way port capabilities are queried and set.  Update the
      driver to handle both the new and old command interfaces by adding a
      new MLX4_FLAG_OLD_PORT_CMDS that it is set after querying the firmware
      interface revision and then using the correct interface based on the
      setting of the flag.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      5ae2a7a8
    • J
      IB/mlx4: Handle buffer wraparound in __mlx4_ib_cq_clean() · 082dee32
      Jack Morgenstein 提交于
      When compacting CQ entries, we need to set the correct value of the
      ownership bit in case the value is different between the index we copy
      the CQE from and the index we copy it to.
      
      Found by Ronni Zimmerman of Mellanox.
      Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      082dee32
    • R
      IB/mlx4: Get rid of max_inline_data calculation · 54e95f8d
      Roland Dreier 提交于
      The calculation of max_inline_data in set_kernel_sq_size() is bogus,
      since it doesn't take into account the fact that inline segments may
      not cross a 64-byte boundary, and hence multiple inline segments will
      probably need to be used to post large inline sends.
      
      We don't support inline sends for kernel QPs anyway, so there's no
      point in doing this calculation anyway, since the field is just zeroed
      out a little later.  So just delete the bogus calculation.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      54e95f8d
    • R
      IB/mlx4: Handle new FW requirement for send request prefetching · 0e6e7416
      Roland Dreier 提交于
      New ConnectX firmware introduces FW command interface revision 2,
      which requires that for each QP, a chunk of send queue entries (the
      "headroom") is kept marked as invalid, so that the HCA doesn't get
      confused if it prefetches entries that haven't been posted yet.  Add
      code to the driver to do this, and also update the user ABI so that
      userspace can request that the prefetcher be turned off for userspace
      QPs (we just leave the prefetcher on for all kernel QPs).
      
      Unfortunately, marking send queue entries this way is confuses older
      firmware, so we change the driver to allow only FW command interface
      revisions 2.  This means that users will have to update their firmware
      to work with the new driver, but the firmware is changing quickly and
      the old firmware has lots of other bugs anyway, so this shouldn't be too
      big a deal.
      
      Based on a patch from Jack Morgenstein <jackm@dev.mellanox.co.il>.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      0e6e7416
  5. 17 6月, 2007 6 次提交
  6. 16 6月, 2007 4 次提交
  7. 15 6月, 2007 2 次提交
  8. 14 6月, 2007 3 次提交
  9. 13 6月, 2007 13 次提交