Made sure that if a work completion reports an error status that

completion queue processing is not aborted but that the remaining
completion queue entries are processed.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1446 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2010-01-11 19:00:03 +00:00
parent 530ecf06c2
commit b85002b263

View File

@@ -1730,15 +1730,15 @@ static void srpt_completion(struct ib_cq *cq, void *ctx)
ib_req_notify_cq(ch->cq, IB_CQ_NEXT_COMP);
while (ib_poll_cq(ch->cq, 1, &wc) > 0) {
if (wc.status) {
PRINT_ERROR("failed %s status= %d",
wc.wr_id & SRPT_OP_RECV
? "receiving"
: wc.wr_id & SRPT_OP_TXR
? "sending request"
: "sending response",
wc.status);
PRINT_INFO("%s failed with status %d",
wc.wr_id & SRPT_OP_RECV
? "receiving"
: wc.wr_id & SRPT_OP_TXR
? "sending request"
: "sending response",
wc.status);
srpt_handle_err_comp(ch, &wc);
break;
continue;
}
if (wc.wr_id & SRPT_OP_RECV) {