scsi: 3w-9xxx: Avoid disabling device if failing to enable it
authorLetu Ren <fantasquex@gmail.com>
Mon, 29 Aug 2022 11:01:15 +0000 (19:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 11:15:47 +0000 (13:15 +0200)
[ Upstream commit 7eff437b5ee1309b34667844361c6bbb5c97df05 ]

The original code will "goto out_disable_device" and call
pci_disable_device() if pci_enable_device() fails. The kernel will generate
a warning message like "3w-9xxx 0000:00:05.0: disabling already-disabled
device".

We shouldn't disable a device that failed to be enabled. A simple return is
fine.

Link: https://lore.kernel.org/r/20220829110115.38789-1-fantasquex@gmail.com
Reported-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Letu Ren <fantasquex@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/3w-9xxx.c

index b78a2f3745f2f56c9a18ca98070adb1ea8b44541..9c2edd9b66d1b0fd0ef9cef58ceba5b4dc9ee725 100644 (file)
@@ -2016,7 +2016,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);