Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'pci-v4.6-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Pull PCI fixes from Bjorn Helgaas:
"Since v4.5, we've WARNed during resume if a PCI device, including a
Thunderbolt device, was added while we were suspended. A change we
merged for v4.6-rc1 turned that warning into a system hang. These
enumeration patches from Lukas Wunner fix this issue:

- Fix BUG on device attach failure
- Do not treat EPROBE_DEFER as device attach failure"

* tag 'pci-v4.6-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
PCI: Do not treat EPROBE_DEFER as device attach failure
PCI: Fix BUG on device attach failure

+4 -2
+4 -2
drivers/pci/bus.c
··· 294 294 295 295 dev->match_driver = true; 296 296 retval = device_attach(&dev->dev); 297 - if (retval < 0) { 297 + if (retval < 0 && retval != -EPROBE_DEFER) { 298 298 dev_warn(&dev->dev, "device attach failed (%d)\n", retval); 299 299 pci_proc_detach_device(dev); 300 300 pci_remove_sysfs_dev_files(dev); ··· 324 324 } 325 325 326 326 list_for_each_entry(dev, &bus->devices, bus_list) { 327 - BUG_ON(!dev->is_added); 327 + /* Skip if device attach failed */ 328 + if (!dev->is_added) 329 + continue; 328 330 child = dev->subordinate; 329 331 if (child) 330 332 pci_bus_add_devices(child);