diff options
author | Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> | 2011-12-05 12:39:12 -0500 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-01-04 12:12:39 -0500 |
commit | 196f40c8464799d185ee7417d2ee532468b374e6 (patch) | |
tree | a5227c763d7803f1c46b068fa19c1898d02ef903 /drivers/infiniband/hw/nes | |
parent | b0fda90f2a8eeac269833e7ef9e32d199747072b (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.c | 1 | ||||
-rw-r--r-- | drivers/infiniband/hw/nes/nes_hw.c | 4 |
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; |