Skip to contentSkip to conversation

Patch "RDMA/qedr: Don't reset QP when queues aren't flushed" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Jun 15, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

RDMA/qedr: Don't reset QP when queues aren't flushed

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
rdma-qedr-don-t-reset-qp-when-queues-aren-t-flushed.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Thu Jun 15 16:35:05 CEST 2017

From: Ram Amrani <[email protected]>
Date: Tue, 24 Jan 2017 13:50:38 +0200
Subject: RDMA/qedr: Don't reset QP when queues aren't flushed

From: Ram Amrani <[email protected]>

[ Upstream commit 933e6dcaa0f65eb2f624ad760274020874a1f35e ]

Fail QP state transition from error to reset if SQ/RQ are not empty and still in the process of flushing out the queued work entries.

---
 drivers/infiniband/hw/qedr/verbs.c |    8 ++++++++
 1 file changed, 8 insertions(+)
drivers/infiniband/hw/qedr/verbs.c +8 -0
@@ -1729,6 +1729,14 @@ static int qedr_update_qp_state(struct q
 		/* ERR->XXX */
 		switch (new_state) {
 		case QED_ROCE_QP_STATE_RESET:
+			if ((qp->rq.prod != qp->rq.cons) ||
+			    (qp->sq.prod != qp->sq.cons)) {
+				DP_NOTICE(dev,
+					  "Error->Reset with rq/sq not empty rq.prod=%x rq.cons=%x sq.prod=%x sq.cons=%x\n",
+					  qp->rq.prod, qp->rq.cons, qp->sq.prod,
+					  qp->sq.cons);
+				status = -EINVAL;
+			}
 			break;
 		default:
 			status = -EINVAL;

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/rdma-qedr-don-t-spam-dmesg-if-qp-is-in-error-state.patch queue-4.9/rdma-qedr-dispatch-port-active-event-from-qedr_add.patch queue-4.9/rdma-qedr-don-t-reset-qp-when-queues-aren-t-flushed.patch queue-4.9/rdma-qedr-fix-and-simplify-memory-leak-in-pd-alloc.patch queue-4.9/rdma-qedr-return-max-inline-data-in-qp-query-result.patch