mirror of https://gitee.com/openkylin/linux.git
be2iscsi : Fix memory leak in the unload path
Driver was not freeing the DMA memory allocated for EQ/CQ in the unload path. This patch frees the DMA memory during the driver unload. Signed-off-by: John Soni Jose <sony.john-n@emulex.com> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Odin.com>
This commit is contained in:
parent
e307f3ac12
commit
4e2bdf7a2b
|
@ -3695,14 +3695,16 @@ static void be_mcc_queues_destroy(struct beiscsi_hba *phba)
|
|||
struct be_ctrl_info *ctrl = &phba->ctrl;
|
||||
|
||||
q = &phba->ctrl.mcc_obj.q;
|
||||
if (q->created)
|
||||
if (q->created) {
|
||||
beiscsi_cmd_q_destroy(ctrl, q, QTYPE_MCCQ);
|
||||
be_queue_free(phba, q);
|
||||
be_queue_free(phba, q);
|
||||
}
|
||||
|
||||
q = &phba->ctrl.mcc_obj.cq;
|
||||
if (q->created)
|
||||
if (q->created) {
|
||||
beiscsi_cmd_q_destroy(ctrl, q, QTYPE_CQ);
|
||||
be_queue_free(phba, q);
|
||||
be_queue_free(phba, q);
|
||||
}
|
||||
}
|
||||
|
||||
static void hwi_cleanup(struct beiscsi_hba *phba)
|
||||
|
@ -3746,8 +3748,10 @@ static void hwi_cleanup(struct beiscsi_hba *phba)
|
|||
|
||||
for (i = 0; i < (phba->num_cpus); i++) {
|
||||
q = &phwi_context->be_cq[i];
|
||||
if (q->created)
|
||||
if (q->created) {
|
||||
be_queue_free(phba, q);
|
||||
beiscsi_cmd_q_destroy(ctrl, q, QTYPE_CQ);
|
||||
}
|
||||
}
|
||||
|
||||
be_mcc_queues_destroy(phba);
|
||||
|
@ -3757,8 +3761,10 @@ static void hwi_cleanup(struct beiscsi_hba *phba)
|
|||
eq_for_mcc = 0;
|
||||
for (i = 0; i < (phba->num_cpus + eq_for_mcc); i++) {
|
||||
q = &phwi_context->be_eq[i].q;
|
||||
if (q->created)
|
||||
if (q->created) {
|
||||
be_queue_free(phba, q);
|
||||
beiscsi_cmd_q_destroy(ctrl, q, QTYPE_EQ);
|
||||
}
|
||||
}
|
||||
be_cmd_fw_uninit(ctrl);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue