Sergey Miroshnichenko
3943af9d01
PCI: pciehp: Ignore Link State Changes after powering off a slot
...
During a safe hot remove, the OS powers off the slot, which may cause a
Data Link Layer State Changed event. The slot has already been set to
OFF_STATE, so that event results in re-enabling the device, making it
impossible to safely remove it.
Clear out the Presence Detect Changed and Data Link Layer State Changed
events when the disabled slot has settled down.
It is still possible to re-enable the device if it remains in the slot
after pressing the Attention Button by pressing it again.
Fixes the problem that Micah reported below: an NVMe drive power button may
not actually turn off the drive.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=203237
Reported-by: Micah Parrish <micah.parrish@hpe.com>
Tested-by: Micah Parrish <micah.parrish@hpe.com>
Signed-off-by: Sergey Miroshnichenko <s.miroshnichenko@yadro.com>
[bhelgaas: changelog, add bugzilla URL]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lukas Wunner <lukas@wunner.de>
Cc: stable@vger.kernel.org # v4.19+
2019-04-10 16:06:43 -05:00
..
controller
pci-v5.1-changes
2019-03-09 14:57:08 -08:00
endpoint
PCI: pci-epf-test: Use pci_epc_get_features() to get EPC features
2019-02-15 10:01:16 +00:00
hotplug
PCI: pciehp: Ignore Link State Changes after powering off a slot
2019-04-10 16:06:43 -05:00
pcie
PCI/LINK: Deduplicate bandwidth reports for multi-function devices
2019-03-25 17:59:07 -05:00
switch
cross-tree: phase out dma_zalloc_coherent()
2019-01-08 07:58:37 -05:00
access.c
PCI: Uninline PCI bus accessors for better ftracing
2018-10-04 16:37:37 -05:00
ats.c
PCI/ATS: Add pci_ats_page_aligned() interface
2019-02-26 11:08:07 +01:00
bus.c
PCI: Fix is_added/is_busmaster race condition
2018-07-31 11:27:54 -05:00
ecam.c
host-bridge.c
PCI: Tidy comments
2018-03-19 14:20:43 -05:00
iov.c
PCI/IOV: Add flag so platforms can skip VF scanning
2019-01-01 19:04:37 -06:00
irq.c
PCI: Use IRQF_ONESHOT if pci_request_irq() called with no handler
2018-07-31 10:43:43 -05:00
Kconfig
PCI: Fix PCI kconfig menu organization
2019-01-14 17:01:20 -06:00
Makefile
PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set
2018-12-20 10:19:49 +01:00
mmap.c
PCI: Tidy comments
2018-03-19 14:20:43 -05:00
msi.c
PCI/MSI: Remove obsolete sanity checks for multiple interrupt sets
2019-02-18 11:21:29 +01:00
of.c
PCI: Use of_node_name_eq() for node name comparisons
2019-01-22 14:13:02 -06:00
p2pdma.c
pci-v4.21-changes
2019-01-05 17:57:34 -08:00
pci-acpi.c
PCI / ACPI: Identify untrusted PCI devices
2018-12-05 12:01:55 +03:00
pci-bridge-emul.c
PCI: pci-bridge-emul: Extend pci_bridge_emul_init() with flags
2019-02-22 10:51:14 +00:00
pci-bridge-emul.h
PCI: pci-bridge-emul: Extend pci_bridge_emul_init() with flags
2019-02-22 10:51:14 +00:00
pci-driver.c
PCI: Clean up usage of __u32 type
2019-02-08 13:40:36 -06:00
pci-label.c
PCI: Tidy comments
2018-03-19 14:20:43 -05:00
pci-mid.c
x86/cpu: Sanitize FAM6_ATOM naming
2018-10-02 10:14:32 +02:00
pci-pf-stub.c
PCI/IOV: Add pci-pf-stub driver for PFs that only enable VFs
2018-04-24 16:47:16 -05:00
pci-stub.c
PCI: Tidy comments
2018-03-19 14:20:43 -05:00
pci-sysfs.c
PCI: pci-sysfs.c: convert to use BUS_ATTR_WO
2019-01-22 14:25:26 +01:00
pci.c
pci-v5.1-changes
2019-03-09 14:57:08 -08:00
pci.h
PCI/LINK: Deduplicate bandwidth reports for multi-function devices
2019-03-25 17:59:07 -05:00
probe.c
PCI/LINK: Deduplicate bandwidth reports for multi-function devices
2019-03-25 17:59:07 -05:00
proc.c
Remove 'type' argument from access_ok() function
2019-01-03 18:57:57 -08:00
quirks.c
PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller
2019-04-05 16:11:16 -05:00
remove.c
PCI/ASPM: Fix link_state teardown on device removal
2018-09-17 16:32:23 -05:00
rom.c
PCI: Make pci_get_rom_size() static
2018-06-29 21:17:26 -05:00
search.c
PCI: Tidy comments
2018-03-19 14:20:43 -05:00
setup-bus.c
PCI: Rely on config space header type, not class code
2019-01-30 10:57:08 -06:00
setup-irq.c
PCI: Tidy comments
2018-03-19 14:20:43 -05:00
setup-res.c
PCI: Remove messages about reassigning resources
2018-04-11 08:46:50 -05:00
slot.c
PCI/ERR: Use slot reset if available
2018-09-21 12:18:10 -05:00
syscall.c
PCI: Tidy comments
2018-03-19 14:20:43 -05:00
vc.c
vpd.c
PCI/VPD: Check for VPD access completion before checking for timeout
2018-08-14 16:04:46 -05:00
xen-pcifront.c
PCI: Tidy comments
2018-03-19 14:20:43 -05:00