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 <[email protected]> Signed-off-by: Faisal Latif <[email protected]> --- kernel_patches/fixes/nes_0064_term_rst_fix.patch | 30 ++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) create mode 100644 kernel_patches/fixes/nes_0064_term_rst_fix.patch diff --git a/kernel_patches/fixes/nes_0064_term_rst_fix.patch b/kernel_patches/fixes/nes_0064_term_rst_fix.patch new file mode 100644 index 0000000..802e90d --- /dev/null +++ b/kernel_patches/fixes/nes_0064_term_rst_fix.patch @@ -0,0 +1,30 @@ +diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c +index 597b993..3fb164d 100644 +--- a/drivers/infiniband/hw/nes/nes_cm.c ++++ b/drivers/infiniband/hw/nes/nes_cm.c +@@ -2835,6 +2835,7 @@ static int nes_cm_disconn_true(struct nes_qp *nesqp) + issue_disconn = 1; + issue_close = 1; + nesqp->cm_id = NULL; ++ del_timer(&nesqp->terminate_timer); + if (nesqp->flush_issued == 0) { + nesqp->flush_issued = 1; + issue_flush = 1; +diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c +index 485a1b3..1b4d61d 100644 +--- a/drivers/infiniband/hw/nes/nes_hw.c ++++ b/drivers/infiniband/hw/nes/nes_hw.c +@@ -3627,10 +3627,6 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev, + } + break; + case NES_AEQE_AEID_LLP_CLOSE_COMPLETE: +- if (nesqp->term_flags) { +- nes_terminate_done(nesqp, 0); +- return; +- } + spin_lock_irqsave(&nesqp->lock, flags); + nesqp->hw_iwarp_state = iwarp_state; + nesqp->hw_tcp_state = tcp_state; +-- +1.7.1 + -- 1.7.1 _______________________________________________ ewg mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
