diff mbox

[rdma-rc,1/3] iw_cxgb4: Only validate the MSN for successful completions

Message ID 20171220191644.CB3F62BC88@smtp.opengridcomputing.com (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show

Commit Message

Steve Wise Dec. 18, 2017, 9:10 p.m. UTC
If the RECV CQE is in error, ignore the MSN check.  This was causing
recvs that were flushed into the sw cq to be completed with the wrong
status (BAD_MSN instead of FLUSHED).

Cc: stable@vger.kernel.org
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
---
 drivers/infiniband/hw/cxgb4/cq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Jason Gunthorpe Dec. 22, 2017, 12:23 a.m. UTC | #1
On Mon, Dec 18, 2017 at 01:10:00PM -0800, Steve Wise wrote:
> If the RECV CQE is in error, ignore the MSN check.  This was causing
> recvs that were flushed into the sw cq to be completed with the wrong
> status (BAD_MSN instead of FLUSHED).
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Steve Wise <swise@opengridcomputing.com>
>  drivers/infiniband/hw/cxgb4/cq.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Applied the series to for-next, thanks

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steve Wise Dec. 22, 2017, 1:23 a.m. UTC | #2
> 
> On Mon, Dec 18, 2017 at 01:10:00PM -0800, Steve Wise wrote:
> > If the RECV CQE is in error, ignore the MSN check.  This was causing
> > recvs that were flushed into the sw cq to be completed with the wrong
> > status (BAD_MSN instead of FLUSHED).
> >
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Steve Wise <swise@opengridcomputing.com>
> >  drivers/infiniband/hw/cxgb4/cq.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> Applied the series to for-next, thanks

Thanks Jason.  I requested -rc though.  Did you not want it in -rc? 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jason Gunthorpe Dec. 22, 2017, 2:48 a.m. UTC | #3
On Thu, Dec 21, 2017 at 07:23:39PM -0600, Steve Wise wrote:
> > 
> > On Mon, Dec 18, 2017 at 01:10:00PM -0800, Steve Wise wrote:
> > > If the RECV CQE is in error, ignore the MSN check.  This was causing
> > > recvs that were flushed into the sw cq to be completed with the wrong
> > > status (BAD_MSN instead of FLUSHED).
> > >
> > > Cc: stable@vger.kernel.org
> > > Signed-off-by: Steve Wise <swise@opengridcomputing.com>
> > >  drivers/infiniband/hw/cxgb4/cq.c | 6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > Applied the series to for-next, thanks
> 
> Thanks Jason.  I requested -rc though.  Did you not want it in -rc? 

Ah, I did put it in -rc, sorry, toddler-came-home distraction when I
was finishing.. Same for all the last couple patches.

The -rc branch tip is here right now while 0-day runs on it.

https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=wip/jgg-zero-day

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/hw/cxgb4/cq.c b/drivers/infiniband/hw/cxgb4/cq.c
index b7bfc53..7ed8762 100644
--- a/drivers/infiniband/hw/cxgb4/cq.c
+++ b/drivers/infiniband/hw/cxgb4/cq.c
@@ -571,10 +571,10 @@  static int poll_cq(struct t4_wq *wq, struct t4_cq *cq, struct t4_cqe *cqe,
 			ret = -EAGAIN;
 			goto skip_cqe;
 		}
-		if (unlikely((CQE_WRID_MSN(hw_cqe) != (wq->rq.msn)))) {
+		if (unlikely(!CQE_STATUS(hw_cqe) &&
+			     CQE_WRID_MSN(hw_cqe) != wq->rq.msn)) {
 			t4_set_wq_in_error(wq);
-			hw_cqe->header |= htonl(CQE_STATUS_V(T4_ERR_MSN));
-			goto proc_cqe;
+			hw_cqe->header |= cpu_to_be32(CQE_STATUS_V(T4_ERR_MSN));
 		}
 		goto proc_cqe;
 	}