summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorBart Van Assche2019-04-17 23:44:24 +0200
committerGreg Kroah-Hartman2019-05-31 15:46:12 +0200
commitde3cd35f5195ce2b119d4a8e8119b8cdac876b11 (patch)
treea816090ef081687df2b160c68b6a8fbc346ec05a /drivers/scsi
parentsched/cpufreq: Fix kobject memleak (diff)
downloadkernel-qcow2-linux-de3cd35f5195ce2b119d4a8e8119b8cdac876b11.tar.gz
kernel-qcow2-linux-de3cd35f5195ce2b119d4a8e8119b8cdac876b11.tar.xz
kernel-qcow2-linux-de3cd35f5195ce2b119d4a8e8119b8cdac876b11.zip
scsi: qla2xxx: Fix a qla24xx_enable_msix() error path
[ Upstream commit 24afabdbd0b3553963a2bbf465895492b14d1107 ] Make sure that the allocated interrupts are freed if allocating memory for the msix_entries array fails. Cc: Himanshu Madhani <hmadhani@marvell.com> Cc: Giridhar Malavali <gmalavali@marvell.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Acked-by: Himanshu Madhani <hmadhani@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index 36cbb29c84f6..88d8acf86a2a 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -3449,7 +3449,7 @@ qla24xx_enable_msix(struct qla_hw_data *ha, struct rsp_que *rsp)
ql_log(ql_log_fatal, vha, 0x00c8,
"Failed to allocate memory for ha->msix_entries.\n");
ret = -ENOMEM;
- goto msix_out;
+ goto free_irqs;
}
ha->flags.msix_enabled = 1;
@@ -3532,6 +3532,10 @@ msix_register_fail:
msix_out:
return ret;
+
+free_irqs:
+ pci_free_irq_vectors(ha->pdev);
+ goto msix_out;
}
int