1. 02 8月, 2014 1 次提交
    • S
      RDMA/cxgb4: Only call CQ completion handler if it is armed · 678ea9b5
      Steve Wise 提交于
      The function __flush_qp() always calls the ULP's CQ completion handler
      functions even if the CQ was not armed.  This can crash the system if
      the function pointer is NULL. The iSER ULP behaves this way: no
      completion handler and never arm the CQ for notification.  So now we
      track whether the CQ is armed at flush time and only call the
      completion handlers if their CQs were armed.
      
      Also, if the RCQ and SCQ are the same CQ, the completion handler is
      getting called twice.  It should only be called once after all SQ and
      RQ WRs are flushed from the QP.  So rearrange the logic to fix this.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      678ea9b5
  2. 14 8月, 2013 1 次提交
    • S
      RDMA/cxgb4: Handle newer firmware changes · 97d7ec0c
      Steve Wise 提交于
      Move QP to TERMINATE instead to allow the peer to get the TERM
      message. This bug wasn't detectable until newer FW that moves
      connections out of RDMA mode as soon as an error is detected.
      
      QP can exit RTS before the last AE arrives.  This was introduced by
      changes in the FW to kick connections out of RDMA mode as soon as an
      error is detected.  A side effect of this is that the driver can move
      the QP out of RTS before the AE causing the connection to get kicked
      out of RDMA mode is processed.  Fix for this is to always post async
      errors even if the QP is out of RTS.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NVipul Pandya <vipul@chelsio.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      97d7ec0c
  3. 15 2月, 2013 1 次提交
  4. 19 5月, 2012 1 次提交
  5. 01 11月, 2011 1 次提交
  6. 29 9月, 2010 1 次提交
  7. 06 5月, 2010 1 次提交
  8. 22 4月, 2010 1 次提交