Skip to content

Commit d64c491

Browse files
cgxu519martinkpetersen
authored andcommitted
scsi: ipr: Fix missing/incorrect resource cleanup in error case
Fix missing resource cleanup (when '(--i) == 0') for error case in ipr_alloc_mem() and skip incorrect resource cleanup (when '(--i) == 0') for error case in ipr_request_other_msi_irqs() because variable i started from 1. Link: https://lore.kernel.org/r/20220529153456.4183738-4-cgxu519@mykernel.net Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: Chengguang Xu <cgxu519@mykernel.net> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 120f1d9 commit d64c491

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/scsi/ipr.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9795,7 +9795,7 @@ static int ipr_alloc_mem(struct ipr_ioa_cfg *ioa_cfg)
97959795
GFP_KERNEL);
97969796

97979797
if (!ioa_cfg->hrrq[i].host_rrq) {
9798-
while (--i > 0)
9798+
while (--i >= 0)
97999799
dma_free_coherent(&pdev->dev,
98009800
sizeof(u32) * ioa_cfg->hrrq[i].size,
98019801
ioa_cfg->hrrq[i].host_rrq,
@@ -10068,7 +10068,7 @@ static int ipr_request_other_msi_irqs(struct ipr_ioa_cfg *ioa_cfg,
1006810068
ioa_cfg->vectors_info[i].desc,
1006910069
&ioa_cfg->hrrq[i]);
1007010070
if (rc) {
10071-
while (--i >= 0)
10071+
while (--i > 0)
1007210072
free_irq(pci_irq_vector(pdev, i),
1007310073
&ioa_cfg->hrrq[i]);
1007410074
return rc;

0 commit comments

Comments
 (0)