ib_srpt: Suppress superfluous error messages

Only complain about a missing completion for I/O contexts that are
in a state where the ib_srpt driver is waiting for the HCA.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5392 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2014-03-26 11:59:37 +00:00
parent fa5aab6390
commit 6944885268

View File

@@ -1404,10 +1404,27 @@ void srpt_on_abort_cmd(struct scst_cmd *cmd)
struct srpt_rdma_ch *ch = ioctx->ch;
if (ch->state >= CH_DISCONNECTED) {
PRINT_ERROR("Cmd %p: IB completion for idx %u has not"
" been received in time (SRPT command state %d)",
cmd, ioctx->ioctx.index, ioctx->state);
srpt_abort_cmd(ioctx, SCST_CONTEXT_THREAD);
switch (ioctx->state) {
case SRPT_STATE_NEW:
case SRPT_STATE_DATA_IN:
case SRPT_STATE_MGMT:
case SRPT_STATE_DONE:
/*
* An SCST command thread is busy processing the
* command associated with the I/O context, so wait
* until that processing has finished.
*/
break;
case SRPT_STATE_NEED_DATA:
case SRPT_STATE_CMD_RSP_SENT:
case SRPT_STATE_MGMT_RSP_SENT:
PRINT_ERROR("Cmd %p: IB completion for idx %u has not"
" been received in time (SRPT command state"
" %d)", cmd, ioctx->ioctx.index,
ioctx->state);
srpt_abort_cmd(ioctx, SCST_CONTEXT_THREAD);
break;
}
}
}