2022-08-29 11:47:25

by Letu Ren

[permalink] [raw]
Subject: [PATCH] scsi/3w-9xxx: Avoid disabling device if failing to enable it

The original code will goto out_disable_device and `pci_disable_device`
if `pci_enable_device` fails. Kernel will generate a warning message
"3w-9xxx 0000:00:05.0: disabling already-disabled device". We shouldn't
disable a failed to enable device. A simple return is fine.

Reported-by: Zheyu Ma <[email protected]>
Signed-off-by: Letu Ren <[email protected]>
---
drivers/scsi/3w-9xxx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
index cd823ff5deab..6cb9cca9565b 100644
--- a/drivers/scsi/3w-9xxx.c
+++ b/drivers/scsi/3w-9xxx.c
@@ -2006,7 +2006,7 @@ static int twa_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
retval = pci_enable_device(pdev);
if (retval) {
TW_PRINTK(host, TW_DRIVER, 0x34, "Failed to enable pci device");
- goto out_disable_device;
+ return -ENODEV;
}

pci_set_master(pdev);
--
2.37.2


2022-09-07 03:20:49

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH] scsi/3w-9xxx: Avoid disabling device if failing to enable it


Letu,

> The original code will goto out_disable_device and
> `pci_disable_device` if `pci_enable_device` fails. Kernel will
> generate a warning message "3w-9xxx 0000:00:05.0: disabling
> already-disabled device". We shouldn't disable a failed to enable
> device. A simple return is fine.

Applied to 6.1/scsi-staging, thanks!

--
Martin K. Petersen Oracle Linux Engineering