Skip to content

Commit 258a0a1

Browse files
Francisco Gutierrezmartinkpetersen
authored andcommitted
scsi: pm80xx: Free allocated tags after failure
This change frees resources after an error is detected. Signed-off-by: Francisco Gutierrez <frankramirez@google.com> Link: https://lore.kernel.org/r/20250617210443.989058-1-frankramirez@google.com Acked-by: Jack Wang <jinpu.wang@ionos.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent d56d980 commit 258a0a1

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

drivers/scsi/pm8001/pm80xx_hwi.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4677,8 +4677,12 @@ pm80xx_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id)
46774677
&pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE);
46784678
payload.sas_identify.phy_id = phy_id;
46794679

4680-
return pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload,
4680+
ret = pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload,
46814681
sizeof(payload), 0);
4682+
if (ret < 0)
4683+
pm8001_tag_free(pm8001_ha, tag);
4684+
4685+
return ret;
46824686
}
46834687

46844688
/**
@@ -4704,8 +4708,12 @@ static int pm80xx_chip_phy_stop_req(struct pm8001_hba_info *pm8001_ha,
47044708
payload.tag = cpu_to_le32(tag);
47054709
payload.phy_id = cpu_to_le32(phy_id);
47064710

4707-
return pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload,
4711+
ret = pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload,
47084712
sizeof(payload), 0);
4713+
if (ret < 0)
4714+
pm8001_tag_free(pm8001_ha, tag);
4715+
4716+
return ret;
47094717
}
47104718

47114719
/*

0 commit comments

Comments
 (0)