aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/nes
diff options
context:
space:
mode:
authorTatyana Nikolova <Tatyana.E.Nikolova@intel.com>2011-12-05 12:39:12 -0500
committerRoland Dreier <roland@purestorage.com>2012-01-04 12:12:39 -0500
commit196f40c8464799d185ee7417d2ee532468b374e6 (patch)
treea5227c763d7803f1c46b068fa19c1898d02ef903 /drivers/infiniband/hw/nes
parentb0fda90f2a8eeac269833e7ef9e32d199747072b (diff)
RDMA/nes: Fix terminate during AE
Fix for reset which happens right after sending a terminate message. Terminate timer is not deleted when the connection is closed. Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: Faisal Latif <Faisal.Latif@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/nes')
-rw-r--r--drivers/infiniband/hw/nes/nes_cm.c1
-rw-r--r--drivers/infiniband/hw/nes/nes_hw.c4
2 files changed, 1 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
index 0a52d72371ee..db0831dc533c 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -2838,6 +2838,7 @@ static int nes_cm_disconn_true(struct nes_qp *nesqp)
2838 issue_disconn = 1; 2838 issue_disconn = 1;
2839 issue_close = 1; 2839 issue_close = 1;
2840 nesqp->cm_id = NULL; 2840 nesqp->cm_id = NULL;
2841 del_timer(&nesqp->terminate_timer);
2841 if (nesqp->flush_issued == 0) { 2842 if (nesqp->flush_issued == 0) {
2842 nesqp->flush_issued = 1; 2843 nesqp->flush_issued = 1;
2843 issue_flush = 1; 2844 issue_flush = 1;
diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
index 6ee570baa60a..055f4b545df0 100644
--- a/drivers/infiniband/hw/nes/nes_hw.c
+++ b/drivers/infiniband/hw/nes/nes_hw.c
@@ -3619,10 +3619,6 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
3619 } 3619 }
3620 break; 3620 break;
3621 case NES_AEQE_AEID_LLP_CLOSE_COMPLETE: 3621 case NES_AEQE_AEID_LLP_CLOSE_COMPLETE:
3622 if (nesqp->term_flags) {
3623 nes_terminate_done(nesqp, 0);
3624 return;
3625 }
3626 spin_lock_irqsave(&nesqp->lock, flags); 3622 spin_lock_irqsave(&nesqp->lock, flags);
3627 nesqp->hw_iwarp_state = iwarp_state; 3623 nesqp->hw_iwarp_state = iwarp_state;
3628 nesqp->hw_tcp_state = tcp_state; 3624 nesqp->hw_tcp_state = tcp_state;