RDMA/nes: AE for closed QP causes crash
PATCH 1/1 RDMA/nes: AE for closed QP causes crash
Under abnormal termination, modify_qp() closes qp and AE handling also attempts to close qp causing system to crash.
Now we check the state of QP before processing the AE.
Signed-off-by Faisal Latif <[email protected]>
--- drivers/infiniband/hw/nes/nes_hw.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
drivers/infiniband/hw/nes/nes_hw.c +9 -0
@@ -3424,6 +3424,7 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,struct nes_adapter *nesadapter = nesdev->nesadapter;u32 aeq_info;u32 next_iwarp_state =0 ; +u32 aeqe_cq_id;u16 async_event_id;u8 tcp_state;u8 iwarp_state;
@@ -3451,6 +3452,14 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,le32_to_cpu (aeqe->aeqe_words[NES_AEQE_COMP_QP_CQ_ID_IDX ]), aeqe, nes_tcp_state_str[tcp_state], nes_iwarp_state_str[iwarp_state]); + aeqe_cq_id =le32_to_cpu (aeqe->aeqe_words[NES_AEQE_COMP_QP_CQ_ID_IDX ]); +if (aeq_info &NES_AEQE_QP ) { +if ((!nes_is_resource_allocated (nesadapter, nesadapter->allocated_qps, + aeqe_cq_id)) || + (atomic_read (&nesqp->close_timer_started))) +return ; + } +switch (async_event_id) {case NES_AEQE_AEID_LLP_FIN_RECEIVED :if (nesqp->term_flags)
--
1.6.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Roland Dreier
Appliedthanks, applied both nes patches.
Signature · 6 lines
Roland Dreier <[email protected]> || For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/index.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html