Re: Patch "iw_cxgb4: only reconnect with MPAv1 if the peer aborts" has been added to the 4.4-stable tree

From: Greg KH
Date: Sat Dec 07 2019 - 06:22:24 EST


On Fri, Dec 06, 2019 at 04:24:35PM -0500, Sasha Levin wrote:
> This is a note to let you know that I've just added the patch titled
>
> iw_cxgb4: only reconnect with MPAv1 if the peer aborts
>
> to the 4.4-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:
> iw_cxgb4-only-reconnect-with-mpav1-if-the-peer-abort.patch
> and it can be found in the queue-4.4 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@xxxxxxxxxxxxxxx> know about it.
>
>
>
> commit 0259a468e2383fc41f8bf84b9a7548727874c03c
> Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
> Date: Sat Nov 10 05:27:39 2018 -0800
>
> iw_cxgb4: only reconnect with MPAv1 if the peer aborts
>
> [ Upstream commit 9828ca654b52848e7eb7dcc9b0994ff130dd4546 ]
>
> Only retry connection setup with MPAv1 if the peer actually aborted the
> connection upon receiving the MPAv2 start message. This avoids retrying
> with MPAv1 in the case where the connection was aborted due to retransmit
> timeouts.
>
> Fixes: d2fe99e86bb2 ("RDMA/cxgb4: Add support for MPAv2 Enhanced RDMA Negotiation")
> Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
>
> diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
> index 54fd4d81a3f1f..0d13d369fea91 100644
> --- a/drivers/infiniband/hw/cxgb4/cm.c
> +++ b/drivers/infiniband/hw/cxgb4/cm.c
> @@ -2691,7 +2691,8 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb)
> break;
> case MPA_REQ_SENT:
> (void)stop_ep_timer(ep);
> - if (mpa_rev == 1 || (mpa_rev == 2 && ep->tried_with_mpa_v1))
> + if (status != CPL_ERR_CONN_RESET || mpa_rev == 1 ||
> + (mpa_rev == 2 && ep->tried_with_mpa_v1))
> connect_reply_upcall(ep, -ECONNRESET);
> else {
> /*

This breaks the build here and in 4.9.y and 4.14.y so I'm dropping it
from all of these queues :(

greg k-h