Fixes a crash that occurs during close when error async event is received. Terminate message is not sent to the remote node if already processing close.
Signed-off-by: Tatyana Nikolova <[email protected]> Signed-off-by: Faisal Latif <[email protected]> diff --git a/kernel_patches/fixes/nes_0058_terminate_fix.patch b/kernel_patches/fixes/nes_0058_terminate_fix.patch new file mode 100644 index 0000000..429dfd0 --- /dev/null +++ b/kernel_patches/fixes/nes_0058_terminate_fix.patch @@ -0,0 +1,18 @@ +diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c +index 13cde1a..855a062 100644 +--- a/drivers/infiniband/hw/nes/nes_hw.c ++++ b/drivers/infiniband/hw/nes/nes_hw.c +@@ -3701,7 +3701,9 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev, + case NES_AEQE_AEID_ROE_INVALID_RDMA_WRITE_OR_READ_RESP: + printk(KERN_ERR PFX "QP[%u] async_event_id=0x%04X IB_EVENT_QP_FATAL\n", + nesqp->hwqp.qp_id, async_event_id); +- nes_terminate_connection(nesdev, nesqp, aeqe, IB_EVENT_QP_FATAL); ++ if (!atomic_read(&nesqp->close_timer_started)) { ++ nes_terminate_connection(nesdev, nesqp, aeqe, IB_EVENT_QP_FATAL); ++ } + break; + + case NES_AEQE_AEID_CQ_OPERATION_ERROR: +-- +1.7.4.2 + -- 1.7.4.2 _______________________________________________ ewg mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
