inia100_probe_one() enables the PCI device with pci_enable_device(). The probe failure paths disable the device before returning, but the normal remove path does not perform the corresponding cleanup. As a result, the PCI device enable state remains unbalanced after the driver is removed. Call pci_disable_device() from inia100_remove_one() to match the probe error path. This issue was found by manual code inspection. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable@vger.kernel.org Signed-off-by: Guangshuo Li --- drivers/scsi/a100u2w.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c index 4365b896f5c4..827d8715138c 100644 --- a/drivers/scsi/a100u2w.c +++ b/drivers/scsi/a100u2w.c @@ -1204,6 +1204,7 @@ static void inia100_remove_one(struct pci_dev *pdev) release_region(shost->io_port, 256); scsi_host_put(shost); + pci_disable_device(pdev); } static const struct pci_device_id inia100_pci_tbl[] = { -- 2.43.0