Przeglądaj źródła

PCIE: cleanup on probe error

If pcie_portdrv_probe() fails but it had already called
pci_enable_device(), then call pci_disable_device() when
returning error.

Is there some reason that this isn't being done?
or was it just missed?

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Randy Dunlap 19 lat temu
rodzic
commit
e4fd1f4a6e
1 zmienionych plików z 3 dodań i 1 usunięć
  1. 3 1
      drivers/pci/pcie/portdrv_pci.c

+ 3 - 1
drivers/pci/pcie/portdrv_pci.c

@@ -56,8 +56,10 @@ static int __devinit pcie_portdrv_probe (struct pci_dev *dev,
 		"%s->Dev[%04x:%04x] has invalid IRQ. Check vendor BIOS\n", 
 		"%s->Dev[%04x:%04x] has invalid IRQ. Check vendor BIOS\n", 
 		__FUNCTION__, dev->device, dev->vendor);
 		__FUNCTION__, dev->device, dev->vendor);
 	}
 	}
-	if (pcie_port_device_register(dev)) 
+	if (pcie_port_device_register(dev)) {
+		pci_disable_device(dev);
 		return -ENOMEM;
 		return -ENOMEM;
+	}
 
 
 	return 0;
 	return 0;
 }
 }