| From bc87d8e78d0ada5efb8f97b6557eb2dee33e8031 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 14 May 2021 16:13:00 +0800 |
| Subject: scsi: mpt3sas: Fix error return value in _scsih_expander_add() |
| |
| From: Zhen Lei <thunder.leizhen@huawei.com> |
| |
| [ Upstream commit d6c2ce435ffe23ef7f395ae76ec747414589db46 ] |
| |
| When an expander does not contain any 'phys', an appropriate error code -1 |
| should be returned, as done elsewhere in this function. However, we |
| currently do not explicitly assign this error code to 'rc'. As a result, 0 |
| was incorrectly returned. |
| |
| Link: https://lore.kernel.org/r/20210514081300.6650-1-thunder.leizhen@huawei.com |
| Fixes: f92363d12359 ("[SCSI] mpt3sas: add new driver supporting 12GB SAS") |
| Reported-by: Hulk Robot <hulkci@huawei.com> |
| Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> |
| Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c |
| index 5f845d7094fc..008f734698f7 100644 |
| --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c |
| +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c |
| @@ -6007,8 +6007,10 @@ _scsih_expander_add(struct MPT3SAS_ADAPTER *ioc, u16 handle) |
| handle, parent_handle, |
| (u64)sas_expander->sas_address, sas_expander->num_phys); |
| |
| - if (!sas_expander->num_phys) |
| + if (!sas_expander->num_phys) { |
| + rc = -1; |
| goto out_fail; |
| + } |
| sas_expander->phy = kcalloc(sas_expander->num_phys, |
| sizeof(struct _sas_phy), GFP_KERNEL); |
| if (!sas_expander->phy) { |
| -- |
| 2.30.2 |
| |