Revision bd91b56cb3b27492963caeb5fccefe20a986ca8d authored by Thomas Tai on 26 July 2018, 17:13:04 UTC, committed by Bjorn Helgaas on 26 July 2018, 17:13:04 UTC
When an fatal error is received by a non-bridge device, the device is
removed, and pci_stop_and_remove_bus_device() deallocates the device
structure.  The freed device structure is used by subsequent code to send
uevents and print messages.

Hold a reference on the device until we're finished using it.  This is not
an ideal fix because pcie_do_fatal_recovery() should not use the device at
all after removing it, but that's too big a project for right now.

Fixes: 7e9084b36740 ("PCI/AER: Handle ERR_FATAL with removal and re-enumeration of devices")
Signed-off-by: Thomas Tai <thomas.tai@oracle.com>
[bhelgaas: changelog, reduce get/put coverage]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
1 parent 270ed73
History
File Mode Size
LSM
mm
pm
README.rst -rw-r--r-- 18.1 KB
bcache.rst -rw-r--r-- 23.7 KB
binfmt-misc.rst -rw-r--r-- 7.2 KB
braille-console.rst -rw-r--r-- 1.7 KB
bug-bisect.rst -rw-r--r-- 2.1 KB
bug-hunting.rst -rw-r--r-- 15.0 KB
cgroup-v2.rst -rw-r--r-- 73.9 KB
conf.py -rw-r--r-- 249 bytes
devices.rst -rw-r--r-- 11.8 KB
devices.txt -rw-r--r-- 104.0 KB
dynamic-debug-howto.rst -rw-r--r-- 13.0 KB
index.rst -rw-r--r-- 1.5 KB
init.rst -rw-r--r-- 2.6 KB
initrd.rst -rw-r--r-- 14.3 KB
java.rst -rw-r--r-- 10.9 KB
kernel-parameters.rst -rw-r--r-- 8.0 KB
kernel-parameters.txt -rw-r--r-- 169.5 KB
md.rst -rw-r--r-- 27.0 KB
module-signing.rst -rw-r--r-- 11.1 KB
mono.rst -rw-r--r-- 2.5 KB
parport.rst -rw-r--r-- 9.3 KB
ramoops.rst -rw-r--r-- 5.7 KB
ras.rst -rw-r--r-- 41.7 KB
reporting-bugs.rst -rw-r--r-- 7.5 KB
security-bugs.rst -rw-r--r-- 3.4 KB
serial-console.rst -rw-r--r-- 4.3 KB
sysfs-rules.rst -rw-r--r-- 9.4 KB
sysrq.rst -rw-r--r-- 12.2 KB
tainted-kernels.rst -rw-r--r-- 2.3 KB
thunderbolt.rst -rw-r--r-- 10.3 KB
unicode.rst -rw-r--r-- 7.1 KB
vga-softcursor.rst -rw-r--r-- 1.9 KB

README.rst

back to top