diff options
author | Kumar Sanghvi <kumaras@chelsio.com> | 2011-11-28 22:09:15 +0530 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-11-28 11:58:07 -0800 |
commit | 01b225e18fcb540c5d615ca79ef832473451f118 (patch) | |
tree | 6516f14b03d731700a6ed0baa6f0ca935fdcdd13 | |
parent | c34c97ad8c7c3cdacab2327235c2df4454ff1a06 (diff) | |
download | op-kernel-dev-01b225e18fcb540c5d615ca79ef832473451f118.zip op-kernel-dev-01b225e18fcb540c5d615ca79ef832473451f118.tar.gz |
RDMA/cxgb4: Fix retry with MPAv1 logic for MPAv2
Fix logic so that we don't retry with MPAv1 once we have done that
already. Otherwise, we end up retrying with MPAv1 even when its not
needed on getting peer aborts - and this could lead to kernel panic.
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r-- | drivers/infiniband/hw/cxgb4/cm.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index b36cdac..760b2fe 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -542,8 +542,10 @@ static void send_mpa_req(struct c4iw_ep *ep, struct sk_buff *skb, (mpa_rev_to_use == 2 ? MPA_ENHANCED_RDMA_CONN : 0); mpa->private_data_size = htons(ep->plen); mpa->revision = mpa_rev_to_use; - if (mpa_rev_to_use == 1) + if (mpa_rev_to_use == 1) { ep->tried_with_mpa_v1 = 1; + ep->retry_with_mpa_v1 = 0; + } if (mpa_rev_to_use == 2) { mpa->private_data_size += |