diff options
author | Steve Wise <swise@opengridcomputing.com> | 2016-08-19 16:29:08 +0200 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-08-22 21:00:42 +0200 |
commit | 30b03b1528b60623986ee0b50ec0e5dab9094be8 (patch) | |
tree | 0c3a2f59b72589c1770e49348c2c0e8e52405bc7 | |
parent | iw_cxgb4: limit IRD/ORD advertised to ULP by device max. (diff) | |
download | linux-30b03b1528b60623986ee0b50ec0e5dab9094be8.tar.xz linux-30b03b1528b60623986ee0b50ec0e5dab9094be8.zip |
iw_cxgb4: use the MPA initiator's IRD if < our ORD
The i40iw initiator sends an MPA-request with ird=16 and ord=16. The cxgb4
responder sends an MPA-reply with ord = 32 causing i40iw to terminate
due to insufficient resources.
The logic to reduce the ORD to <= peer's IRD was wrong.
Reported-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r-- | drivers/infiniband/hw/cxgb4/cm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index a698efc69257..b6a953aed7e8 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -3140,7 +3140,7 @@ int c4iw_accept_cr(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn) { if (conn_param->ord > ep->ird) { if (RELAXED_IRD_NEGOTIATION) { - ep->ord = ep->ird; + conn_param->ord = ep->ird; } else { ep->ird = conn_param->ird; ep->ord = conn_param->ord; |