1. 06 12月, 2008 6 次提交
  2. 02 12月, 2008 5 次提交
  3. 13 11月, 2008 1 次提交
    • S
      RDMA/cxgb3: Fix deadlock in iw_cxgb3 (hang when configuring interface) · b3e123cf
      Steve Wise 提交于
      When the iw_cxgb3 module's cxgb3_client "add" func gets called by the
      cxgb3 module, the iwarp driver ends up calling the ethtool ops
      get_drvinfo function in cxgb3 to get the fw version and other info.
      Currently the iwarp driver grabs the rtnl lock around this down call
      to serialize.  As of 2.6.27 or so, things changed such that the rtnl
      lock is held around the call to the netdev driver open function.  Also
      the cxgb3_client "add" function doesn't get called if the device is
      down.
      
      So, if you load cxgb3, then load iw_cxgb3, then ifconfig up the
      device, the iw_cxgb3 add func gets called with the rtnl_lock held.  If
      you load cxgb3, ifconfig up the device, then load iw_cxgb3, the add
      func gets called without the rtnl_lock held.  The former causes the
      deadlock, the latter does not.
      
      In addition, there are iw_cxgb3 sysfs handlers that also can call down
      into cxgb3 to gather the fw and hw versions.  These can be called
      concurrently on different processors and at any time.  Thus we need to
      push this serialization down in the cxgb3 driver get_drvinfo func.
      
      The fix is to remove rtnl lock usage, and use a per-device lock in cxgb3.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Acked-by: NDivy Le Ray <divy@chelsio.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      b3e123cf
  4. 12 11月, 2008 1 次提交
  5. 11 11月, 2008 1 次提交
    • S
      RDMA/cxgb3: deadlock in iw_cxgb3 can cause hang when configuring interface. · cf3760da
      Steve Wise 提交于
      When the iw_cxgb3 module's cxgb3_client "add" func gets called by the
      cxgb3 module, the iwarp driver ends up calling the ethtool ops get_drvinfo
      function in cxgb3 to get the fw version and other info.  Currently the
      iwarp driver grabs the rtnl lock around this down call to serialize.
      As of 2.6.27 or so, things changed such that the rtnl lock is held around
      the call to the netdev driver open function.  Also the cxgb3_client "add"
      function doesn't get called if the device is down.
      
      So, if you load cxgb3, then load iw_cxgb3, then ifconfig up the device,
      the iw_cxgb3 add func gets called with the rtnl_lock held.   If you
      load cxgb3, ifconfig up the device, then load iw_cxgb3, the add func
      gets called without the rtnl_lock held.  The former causes the deadlock,
      the latter does not.
      
      In addition, there are iw_cxgb3 sysfs handlers that also can call
      down into cxgb3 to gather the fw and hw versions.  These can be called
      concurrently on different processors and at any time.  Thus we need to
      push this serialization down in the cxgb3 driver get_drvinfo func.
      
      The fix is to remove rtnl lock usage, and use a per-device lock in cxgb3.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      cf3760da
  6. 06 11月, 2008 1 次提交
  7. 03 11月, 2008 4 次提交
  8. 02 11月, 2008 1 次提交
  9. 28 10月, 2008 1 次提交
  10. 23 10月, 2008 3 次提交
    • S
      IB/ehca: Reject dynamic memory add/remove when ehca adapter is present · 263c24a2
      Stefan Roscher 提交于
      Since the ehca device driver does not support dynamic memory add and
      remove operations, the driver must explicitly reject such requests in
      order to prevent unpredictable behaviors related to existing memory
      regions that cover all of memory being used by InfiniBand protocols in
      the kernel.
      
      The solution (for now at least) is to add a memory notifier to the
      ehca device driver and if a request for dynamic memory add or remove
      comes in, ehca will always reject it.  The user can add or remove
      memory by hot-removing the ehca adapter, performing the memory
      operation, and then hot-adding the ehca adapter back.
      Signed-off-by: NStefan Roscher <stefan.roscher@de.ibm.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      263c24a2
    • S
      IB/ehca: Fix reported max number of QPs and CQs in systems with >1 adapter · 19f42821
      Stefan Roscher 提交于
      Because ehca adapters can differ in the maximum number of QPs and CQs
      we have to save the maximum number of these ressources per adapter and
      not globally per ehca driver. This fix introduces 2 new members to the
      shca structure to store the maximum value for QPs and CQs per adapter.
      
      The module parameters are now used as initial values for those
      variables.  If a user selects an invalid number of CQs or QPs we don't
      print an error any longer, instead we will inform the user with a
      warning and set the values to the respective maximum supported by the
      HW.
      Signed-off-by: NStefan Roscher <stefan.roscher@de.ibm.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      19f42821
    • Y
      mlx4_core: Multiple port type support · 7ff93f8b
      Yevgeny Petrilin 提交于
      Multi-protocol adapters support different port types.  Each consumer
      of mlx4_core queries for supported port types; in particular mlx4_ib
      can no longer assume that all physical ports belong to it.  Port type
      is configured through a sysfs interface.  When the type of a port is
      changed, all mlx4 interfaces are unregistered, and then registered
      again with the new port types.
      Signed-off-by: NYevgeny Petrilin <yevgenyp@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      7ff93f8b
  11. 17 10月, 2008 1 次提交
  12. 16 10月, 2008 1 次提交
  13. 11 10月, 2008 2 次提交
  14. 10 10月, 2008 1 次提交
  15. 09 10月, 2008 2 次提交
  16. 04 10月, 2008 2 次提交
  17. 01 10月, 2008 7 次提交