As I mentioned in my comment above, I would have thought that the attempt to post a send to a QP in ERR state would have returned an error. It must not or else this patch is worthless because of the order of actions. What that highlights though, is that this code will drain a QP, but only if the caller has taken the time to stop all possible contexts that might run on other cores and post commands to the QP. Those commands will error out, but the caller must, none the less, take steps to block other contexts from sending or else this drain is useless. That might be fine for the API, but it should be clearly documented, and currently it isn't.
I agree, it should be documented that if there are other contexts that post concurrently then the QP drain is not guaranteed. That's a valid requirement I think... -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html