Messages in this thread | | | Date | Sat, 1 Feb 2014 20:48:22 +0200 | From | Mika Westerberg <> | Subject | Re: [PATCH] Revert "PCI: Remove from bus_list and release resources in pci_release_dev()" |
| |
On Sat, Feb 01, 2014 at 03:38:29PM +0100, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > Subject: Revert "PCI: Remove from bus_list and release resources in pci_release_dev()" > > Revert commit ef83b0781a73 "PCI: Remove from bus_list and release > resources in pci_release_dev()" that made some nasty race conditions > become possible. For example, if a Thunderbolt link is unplugged > and then replugged immediately, the pci_release_dev() resulting from > the hot-remove code path may be racing with the hot-add code path > which after that commit causes various kinds of breakage to happen > (up to and including a hard crash of the whole system). > > Moreover, the problem that commit ef83b0781a73 attempted to address > cannot happen any more after commit 8a4c5c329de7 "PCI: Check parent > kobject in pci_destroy_dev()", because pci_destroy_dev() will now > return immediately if it has already been executed for the given > device. > > Note, however, that the invocation of msi_remove_pci_irq_vectors() > removed by commit ef83b0781a73 from pci_free_resources() along with > the other changes made by it is not added back because of subsequent > code changes depending on that modification. > > Fixes: ef83b0781a73 (PCI: Remove from bus_list and release resources in pci_release_dev()) > Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Thanks, that fixes the problem I'm seeing.
| |