aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/cm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/core/cm.c')
-rw-r--r--drivers/infiniband/core/cm.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index ad63b79afac..64e0903091a 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -2409,10 +2409,12 @@ int ib_send_cm_mra(struct ib_cm_id *cm_id,
2409 msg_response = CM_MSG_RESPONSE_REP; 2409 msg_response = CM_MSG_RESPONSE_REP;
2410 break; 2410 break;
2411 case IB_CM_ESTABLISHED: 2411 case IB_CM_ESTABLISHED:
2412 cm_state = cm_id->state; 2412 if (cm_id->lap_state == IB_CM_LAP_RCVD) {
2413 lap_state = IB_CM_MRA_LAP_SENT; 2413 cm_state = cm_id->state;
2414 msg_response = CM_MSG_RESPONSE_OTHER; 2414 lap_state = IB_CM_MRA_LAP_SENT;
2415 break; 2415 msg_response = CM_MSG_RESPONSE_OTHER;
2416 break;
2417 }
2416 default: 2418 default:
2417 ret = -EINVAL; 2419 ret = -EINVAL;
2418 goto error1; 2420 goto error1;