Commit 23188167 authored by Jayamohan Kallickal's avatar Jayamohan Kallickal Committed by Christoph Hellwig

be2iscsi: Fix destroy MCC-CQ before MCC-EQ is destroyed

 EQ teardown should happen only after all CQ are destroyed.
 In some FW config, adapter goes into a freeze state. This
 fix moves teardown of MCC-Q before the EQ teardown happens.
Signed-off-by: default avatarJohn Soni Jose <sony.john-n@emulex.com>
Signed-off-by: default avatarJayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 8fc01eaa
...@@ -3685,7 +3685,7 @@ static void hwi_cleanup(struct beiscsi_hba *phba) ...@@ -3685,7 +3685,7 @@ static void hwi_cleanup(struct beiscsi_hba *phba)
struct hwi_controller *phwi_ctrlr; struct hwi_controller *phwi_ctrlr;
struct hwi_context_memory *phwi_context; struct hwi_context_memory *phwi_context;
struct hwi_async_pdu_context *pasync_ctx; struct hwi_async_pdu_context *pasync_ctx;
int i, eq_num, ulp_num; int i, eq_for_mcc, ulp_num;
phwi_ctrlr = phba->phwi_ctrlr; phwi_ctrlr = phba->phwi_ctrlr;
phwi_context = phwi_ctrlr->phwi_ctxt; phwi_context = phwi_ctrlr->phwi_ctxt;
...@@ -3722,16 +3722,17 @@ static void hwi_cleanup(struct beiscsi_hba *phba) ...@@ -3722,16 +3722,17 @@ static void hwi_cleanup(struct beiscsi_hba *phba)
if (q->created) if (q->created)
beiscsi_cmd_q_destroy(ctrl, q, QTYPE_CQ); beiscsi_cmd_q_destroy(ctrl, q, QTYPE_CQ);
} }
be_mcc_queues_destroy(phba);
if (phba->msix_enabled) if (phba->msix_enabled)
eq_num = 1; eq_for_mcc = 1;
else else
eq_num = 0; eq_for_mcc = 0;
for (i = 0; i < (phba->num_cpus + eq_num); i++) { for (i = 0; i < (phba->num_cpus + eq_for_mcc); i++) {
q = &phwi_context->be_eq[i].q; q = &phwi_context->be_eq[i].q;
if (q->created) if (q->created)
beiscsi_cmd_q_destroy(ctrl, q, QTYPE_EQ); beiscsi_cmd_q_destroy(ctrl, q, QTYPE_EQ);
} }
be_mcc_queues_destroy(phba);
be_cmd_fw_uninit(ctrl); be_cmd_fw_uninit(ctrl);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment