]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "x86/PCI: Refine the way to release PCI IRQ resources"
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 20 Mar 2015 13:56:19 +0000 (14:56 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 20 Mar 2015 13:56:19 +0000 (14:56 +0100)
commitf7a3db8d271e936a913140da28170d6e744e0422
tree3823451bc7aba0d2601ec67bdb9b43a3e51ea2f3
parent5948862fde9344a9b06eaa1e690e0f4eead9c09a
Revert "x86/PCI: Refine the way to release PCI IRQ resources"

Commit 53f6d21e3959 (Refine the way to release PCI IRQ resources)
introduced a regression in the PCI IRQ resource management by causing
the IRQ resource of a device, established when pci_enabled_device()
is called on a fully disabled device, to be released when the driver
is unbound from the device, regardless of the enable_cnt.

This leads to the situation that an ill-behaved driver can now make a
device unusable to subsequent drivers by an imbalance in their use of
pci_enable/disable_device().  That is a serious problem for secondary
drivers like vfio-pci, which are innocent of the transgressions of
the previous driver.

Since the solution of this problem is not immediate and requires
further discussion, revert commit 53f6d21e3959 and the issue it was
supposed to address (a bug related to xen-pciback) will be taken
care of in a different way going forward.

Reported-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/x86/include/asm/pci_x86.h
arch/x86/pci/common.c
arch/x86/pci/intel_mid_pci.c
arch/x86/pci/irq.c
drivers/acpi/pci_irq.c