scsi: pmcraid: Fix missing resource cleanup in error case
authorChengguang Xu <cgxu519@mykernel.net>
Sun, 29 May 2022 15:34:55 +0000 (23:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Jun 2022 12:21:57 +0000 (14:21 +0200)
[ Upstream commit ec1e8adcbdf661c57c395bca342945f4f815add7 ]

Fix missing resource cleanup (when '(--i) == 0') for error case in
pmcraid_register_interrupt_handler().

Link: https://lore.kernel.org/r/20220529153456.4183738-6-cgxu519@mykernel.net
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/pmcraid.c

index bffd9a9349e72457d2564477a15ede7f6e5f49f2..9660c4f4de40b2081f53f9b0a380d27e814befd2 100644 (file)
@@ -4526,7 +4526,7 @@ pmcraid_register_interrupt_handler(struct pmcraid_instance *pinstance)
        return 0;
 
 out_unwind:
-       while (--i > 0)
+       while (--i >= 0)
                free_irq(pci_irq_vector(pdev, i), &pinstance->hrrq_vector[i]);
        pci_free_irq_vectors(pdev);
        return rc;