1. 15 3月, 2011 4 次提交
  2. 18 2月, 2011 1 次提交
    • M
      IB/qib: Prevent double completions after a timeout or RNR error · c0af2c05
      Mike Marciniszyn 提交于
      There is a double completion associated with error handling for RC QPs.
      
      The sequence is:
      
       - The do_rc_ack() routine fields an RNR nack and there are 0
         rnr_retries configured on the QP.
       - qib_error_qp() stops the pending timer
       - qib_rc_send_complete() is called from sdma_complete()
       - qib_rc_send_complete() starts the timer because the msb of the psn
         just completed says an ack is needed.
       - a bunch of flushes occur as ipoib posts WQEs to an error'ed QP
       - rc_timeout() calls qib_restart_rc()
       - qib_restart_rc() calls qib_send_complete() with a
         IB_WC_RETRY_EXC_ERR on a wqe that has already been completed in the
         past
      
      The fix avoids starting the timer since another packet will never
      arrive.
      Signed-off-by: NMike Marciniszyn <mike.marciniszyn@qlogic.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      c0af2c05
  3. 17 2月, 2011 11 次提交
  4. 16 2月, 2011 3 次提交
  5. 15 2月, 2011 5 次提交
  6. 14 2月, 2011 16 次提交