sifdrv needs to flush a regular rq (non-srq) once it
detects that a qp is transitioned into ERR state.
Nevertheless, if a qp is created with srq and
with no event handler, the srq might be accidentally
flushed once the qp is transitioned into ERR sate.
Orabug:
25071205
Signed-off-by: Wei Lin Guay <wei.lin.guay@oracle.com>
Reviewed-by: HÃ¥kon Bugge <haakon.bugge@oracle.com>
.element.qp = &qp->ibqp
};
ibqp->event_handler(&ibe, ibqp->qp_context);
- } else {
+ } else if (!rq->is_srq) {
/* WA #622: if reqular RQ, flush */
if (sif_flush_rq_wq(sdev, rq, qp, atomic_read(&rq_sw->length)))
sif_log(sdev, SIF_INFO, "failed to flush RQ %d",