diff options
author | Sean Hefty <sean.hefty@intel.com> | 2005-11-30 13:00:25 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2005-11-30 13:00:25 -0500 |
commit | 227eca83690da7dcbd698d3268e29402e0571723 (patch) | |
tree | 83a69c7a2f5245486a885d5ea2a2e0e462521075 /drivers/infiniband/core/cm.c | |
parent | a3c8ab4fe8f006d742c24be677518bfa9862e732 (diff) |
IB/cm: correct reported reject code
Change reject code from TIMEOUT to CONSUMER_REJECT when destroying a
cm_id in the process of connecting.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/core/cm.c')
-rw-r--r-- | drivers/infiniband/core/cm.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c index 02110e00d145..1fe21865d1f2 100644 --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c | |||
@@ -684,6 +684,13 @@ retest: | |||
684 | cm_reject_sidr_req(cm_id_priv, IB_SIDR_REJECT); | 684 | cm_reject_sidr_req(cm_id_priv, IB_SIDR_REJECT); |
685 | break; | 685 | break; |
686 | case IB_CM_REQ_SENT: | 686 | case IB_CM_REQ_SENT: |
687 | ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); | ||
688 | spin_unlock_irqrestore(&cm_id_priv->lock, flags); | ||
689 | ib_send_cm_rej(cm_id, IB_CM_REJ_TIMEOUT, | ||
690 | &cm_id_priv->av.port->cm_dev->ca_guid, | ||
691 | sizeof cm_id_priv->av.port->cm_dev->ca_guid, | ||
692 | NULL, 0); | ||
693 | break; | ||
687 | case IB_CM_MRA_REQ_RCVD: | 694 | case IB_CM_MRA_REQ_RCVD: |
688 | case IB_CM_REP_SENT: | 695 | case IB_CM_REP_SENT: |
689 | case IB_CM_MRA_REP_RCVD: | 696 | case IB_CM_MRA_REP_RCVD: |
@@ -694,10 +701,8 @@ retest: | |||
694 | case IB_CM_REP_RCVD: | 701 | case IB_CM_REP_RCVD: |
695 | case IB_CM_MRA_REP_SENT: | 702 | case IB_CM_MRA_REP_SENT: |
696 | spin_unlock_irqrestore(&cm_id_priv->lock, flags); | 703 | spin_unlock_irqrestore(&cm_id_priv->lock, flags); |
697 | ib_send_cm_rej(cm_id, IB_CM_REJ_TIMEOUT, | 704 | ib_send_cm_rej(cm_id, IB_CM_REJ_CONSUMER_DEFINED, |
698 | &cm_id_priv->av.port->cm_dev->ca_guid, | 705 | NULL, 0, NULL, 0); |
699 | sizeof cm_id_priv->av.port->cm_dev->ca_guid, | ||
700 | NULL, 0); | ||
701 | break; | 706 | break; |
702 | case IB_CM_ESTABLISHED: | 707 | case IB_CM_ESTABLISHED: |
703 | spin_unlock_irqrestore(&cm_id_priv->lock, flags); | 708 | spin_unlock_irqrestore(&cm_id_priv->lock, flags); |