|
@@ -291,7 +291,12 @@ void pci_bus_add_device(struct pci_dev *dev)
|
|
|
|
|
|
dev->match_driver = true;
|
|
dev->match_driver = true;
|
|
retval = device_attach(&dev->dev);
|
|
retval = device_attach(&dev->dev);
|
|
- WARN_ON(retval < 0);
|
|
|
|
|
|
+ if (retval < 0) {
|
|
|
|
+ dev_warn(&dev->dev, "device attach failed (%d)\n", retval);
|
|
|
|
+ pci_proc_detach_device(dev);
|
|
|
|
+ pci_remove_sysfs_dev_files(dev);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
|
|
dev->is_added = 1;
|
|
dev->is_added = 1;
|
|
}
|
|
}
|