scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()

[ Upstream commit 2e2fe5ac69 ]

Smatch complains that:

tw_probe() warn: missing error code 'retval'

This patch adds error checking to tw_probe() to handle initialization
failure. If tw_reset_sequence() function returns a non-zero value, the
function will return -EINVAL to indicate initialization failure.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Yuchen Yang <u202114568@hust.edu.cn>
Link: https://lore.kernel.org/r/20230505141259.7730-1-u202114568@hust.edu.cn
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Yuchen Yang 2023-05-05 22:12:55 +08:00 committed by Greg Kroah-Hartman
parent e4cccff1e7
commit 6e9671f9fa

View File

@ -2303,8 +2303,10 @@ static int tw_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
TW_DISABLE_INTERRUPTS(tw_dev);
/* Initialize the card */
if (tw_reset_sequence(tw_dev))
if (tw_reset_sequence(tw_dev)) {
retval = -EINVAL;
goto out_release_mem_region;
}
/* Set host specific parameters */
host->max_id = TW_MAX_UNITS;