diff options
author | Hariprasad S <hariprasad@chelsio.com> | 2016-05-06 22:18:01 +0530 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-05-13 19:38:07 -0400 |
commit | 8a70f812b16ea4523938749a168817ffed232df9 (patch) | |
tree | 243c890f2fa46eb42ef7b3e6e3c02de98df0c5de | |
parent | caa6c9f247d64f7f7c183514d71113f472124f55 (diff) | |
download | op-kernel-dev-8a70f812b16ea4523938749a168817ffed232df9.zip op-kernel-dev-8a70f812b16ea4523938749a168817ffed232df9.tar.gz |
RDMA/iw_cxgb4: in process_timeout() don't move ep state to ABORTING
Moving the state to ABORTING causes the ep to get stuck because
c4iw_ep_timeout() thinks the ABORT has already been done. So leave the
state alone and let c4iw_ep_disconnect() do the right thing given the
ep state.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r-- | drivers/infiniband/hw/cxgb4/cm.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index 658ea16..6c22bc9 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -3971,12 +3971,10 @@ static void process_timeout(struct c4iw_ep *ep) set_bit(TIMEDOUT, &ep->com.history); switch (ep->com.state) { case MPA_REQ_SENT: - __state_set(&ep->com, ABORTING); connect_reply_upcall(ep, -ETIMEDOUT); break; case MPA_REQ_WAIT: case MPA_REP_SENT: - __state_set(&ep->com, ABORTING); break; case CLOSING: case MORIBUND: @@ -3986,7 +3984,6 @@ static void process_timeout(struct c4iw_ep *ep) ep->com.qp, C4IW_QP_ATTR_NEXT_STATE, &attrs, 1); } - __state_set(&ep->com, ABORTING); close_complete_upcall(ep, -ETIMEDOUT); break; case ABORTING: |