That won't work for iWARP. Is this code new? I didn't see any errors that
would result from this code when I tested iSER over
cxgb4 with the old iwarp support patches.
It's there since ~3.17 I think...
Perhaps we need another way to do this? Like a completion object in the QP
that gets triggered when the SQ and RQ become empty
after a transition to ERROR (and CLOSING for iwarp). Then a core service that
just waits until the QP is empty. Implementation of
this design would hit the providers though since only they know when the flush
is completed.
ULPs need a drain functionality, so ib_drain_qp() is the way to go...
How about we add a drain_qp() callout and have:
if (qp->device->drain_qp) {
qp->device->drain_qp();
return;
}
IB drain qp logic...
This way iWARP devices can have their own magic on how to implement this
functionality.
Thoughts?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html