[PATCH] scsi: qla2xxx: fix memory leak if qlt_add_target fails

From: Navid Emamdoost
Date: Sun Aug 09 2020 - 18:22:18 EST


In the implementation of qla2x00_probe_one() the allocated and
initialized ha is leaked if it fails to add target via qlt_add_target().
Go to error handling path if qlt_add_target() fails.

Signed-off-by: Navid Emamdoost <navid.emamdoost@xxxxxxxxx>
---
drivers/scsi/qla2xxx/qla_os.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index e92fad99338c..81a58ae54909 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -3457,7 +3457,9 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
base_vha->host_no,
ha->isp_ops->fw_version_str(base_vha, fw_str, sizeof(fw_str)));

- qlt_add_target(ha, base_vha);
+ ret = qlt_add_target(ha, base_vha);
+ if (ret)
+ goto probe_failed;

clear_bit(PFLG_DRIVER_PROBING, &base_vha->pci_flags);

--
2.17.1