1. 02 2月, 2018 11 次提交
  2. 01 2月, 2018 2 次提交
  3. 30 1月, 2018 1 次提交
  4. 29 1月, 2018 3 次提交
  5. 26 1月, 2018 1 次提交
  6. 25 1月, 2018 1 次提交
  7. 20 1月, 2018 1 次提交
  8. 19 1月, 2018 5 次提交
  9. 17 1月, 2018 14 次提交
  10. 16 1月, 2018 1 次提交
    • J
      IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports · 852f6927
      Jack Morgenstein 提交于
      Allocating steerable UD QPs depends on having at least one IB port,
      while releasing those QPs does not.
      
      As a result, when there are only ETH ports, the IB (RoCE) driver
      requests releasing a qp range whose base qp is zero, with
      qp count zero.
      
      When SR-IOV is enabled, and the VF driver is running on a VM over
      a hypervisor which treats such qp release calls as errors
      (rather than NOPs), we see lines in the VM message log like:
      
       mlx4_core 0002:00:02.0: Failed to release qp range base:0 cnt:0
      
      Fix this by adding a check for a zero count in mlx4_release_qp_range()
      (which thus treats releasing 0 qps as a nop), and eliminating the
      check for device managed flow steering when releasing steerable UD QPs.
      (Freeing ib_uc_qpns_bitmap unconditionally is also OK, since it
      remains NULL when steerable UD QPs are not allocated).
      
      Cc: <stable@vger.kernel.org>
      Fixes: 4196670b ("IB/mlx4: Don't allocate range of steerable UD QPs for Ethernet-only device")
      Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      Signed-off-by: NJason Gunthorpe <jgg@mellanox.com>
      852f6927