From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:57696 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752072AbdFOOke (ORCPT ); Thu, 15 Jun 2017 10:40:34 -0400 Subject: Patch "RDMA/qedr: Don't reset QP when queues aren't flushed" has been added to the 4.9-stable tree To: Ram.Amrani@Cavium.com, Michal.Kalderon@cavium.com, Ram.Amrani@cavium.com, alexander.levin@verizon.com, dledford@redhat.com, gregkh@linuxfoundation.org Cc: , From: Date: Thu, 15 Jun 2017 16:40:20 +0200 Message-ID: <149753762032174@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: 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 know about it. >>From foo@baz Thu Jun 15 16:35:05 CEST 2017 From: Ram Amrani Date: Tue, 24 Jan 2017 13:50:38 +0200 Subject: RDMA/qedr: Don't reset QP when queues aren't flushed From: Ram Amrani [ 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. Signed-off-by: Ram Amrani Signed-off-by: Michal Kalderon Signed-off-by: Doug Ledford Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/infiniband/hw/qedr/verbs.c | 8 ++++++++ 1 file changed, 8 insertions(+) --- a/drivers/infiniband/hw/qedr/verbs.c +++ b/drivers/infiniband/hw/qedr/verbs.c @@ -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 Ram.Amrani@Cavium.com 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