PCIE: cleanup on probe error
[safe/jmp/linux-2.6] / drivers / pci / pcie / portdrv_pci.c
index d0a3797..478d0d2 100644 (file)
@@ -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", 
                __FUNCTION__, dev->device, dev->vendor);
        }
-       if (pcie_port_device_register(dev)) 
+       if (pcie_port_device_register(dev)) {
+               pci_disable_device(dev);
                return -ENOMEM;
+       }
 
        return 0;
 }