diff options
author | Bart Van Assche <bvanassche@acm.org> | 2019-04-17 14:44:24 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-05-31 06:47:19 -0700 |
commit | 7aed8eef0bc93b216b35f604118bcbebbfacd37b (patch) | |
tree | 817ca987ca0bece146ec50573fe93f6625f70f2c | |
parent | f52536d95bee3430ba290741e929e5d65424915f (diff) | |
download | linux-stable-7aed8eef0bc93b216b35f604118bcbebbfacd37b.tar.gz linux-stable-7aed8eef0bc93b216b35f604118bcbebbfacd37b.tar.bz2 linux-stable-7aed8eef0bc93b216b35f604118bcbebbfacd37b.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>
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index e073eb16f8a4..df94ef816826 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -3395,7 +3395,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; @@ -3477,6 +3477,10 @@ msix_register_fail: msix_out: return ret; + +free_irqs: + pci_free_irq_vectors(ha->pdev); + goto msix_out; } int |