Blame SOURCES/0090-scsi-scsi-qla2xxx-Fix-a-qla24xx_enable_msix-error-pa.patch

3c6e85
From f750ece8349ad34a3b3b92d768fe74710e4d07cb Mon Sep 17 00:00:00 2001
3c6e85
From: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Date: Thu, 1 Aug 2019 15:55:50 -0400
3c6e85
Subject: [PATCH 090/124] [scsi] scsi: qla2xxx: Fix a qla24xx_enable_msix()
3c6e85
 error path
3c6e85
3c6e85
Message-id: <20190801155618.12650-91-hmadhani@redhat.com>
3c6e85
Patchwork-id: 267885
3c6e85
O-Subject: [RHEL 7.8 e-stor PATCH 090/118] scsi: qla2xxx: Fix a qla24xx_enable_msix() error path
3c6e85
Bugzilla: 1729270
3c6e85
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
3c6e85
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
3c6e85
3c6e85
From: Bart Van Assche <bvanassche@acm.org>
3c6e85
3c6e85
Bugzilla 1729270
3c6e85
3c6e85
Make sure that the allocated interrupts are freed if allocating memory for
3c6e85
the msix_entries array fails.
3c6e85
3c6e85
Cc: Himanshu Madhani <hmadhani@marvell.com>
3c6e85
Cc: Giridhar Malavali <gmalavali@marvell.com>
3c6e85
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
3c6e85
Acked-by: Himanshu Madhani <hmadhani@marvell.com>
3c6e85
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
3c6e85
(cherry picked from commit 24afabdbd0b3553963a2bbf465895492b14d1107)
3c6e85
Signed-off-by: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Signed-off-by: Jan Stancek <jstancek@redhat.com>
3c6e85
---
3c6e85
 drivers/scsi/qla2xxx/qla_isr.c | 6 +++++-
3c6e85
 1 file changed, 5 insertions(+), 1 deletion(-)
3c6e85
3c6e85
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
3c6e85
index f099a812e29f..7c58e04c5d70 100644
3c6e85
--- a/drivers/scsi/qla2xxx/qla_isr.c
3c6e85
+++ b/drivers/scsi/qla2xxx/qla_isr.c
3c6e85
@@ -3495,7 +3495,7 @@ qla24xx_enable_msix(struct qla_hw_data *ha, struct rsp_que *rsp)
3c6e85
 		ql_log(ql_log_fatal, vha, 0x00c8,
3c6e85
 		    "Failed to allocate memory for ha->msix_entries.\n");
3c6e85
 		ret = -ENOMEM;
3c6e85
-		goto msix_out;
3c6e85
+		goto free_irqs;
3c6e85
 	}
3c6e85
 	ha->flags.msix_enabled = 1;
3c6e85
 
3c6e85
@@ -3578,6 +3578,10 @@ msix_register_fail:
3c6e85
 
3c6e85
 msix_out:
3c6e85
 	return ret;
3c6e85
+
3c6e85
+free_irqs:
3c6e85
+	pci_free_irq_vectors(ha->pdev);
3c6e85
+	goto msix_out;
3c6e85
 }
3c6e85
 
3c6e85
 int
3c6e85
-- 
3c6e85
2.13.6
3c6e85