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
File | Mode | Size |
---|---|---|
Documentation | ||
bash-completion | ||
.gitignore | -rw-r--r-- | 33 bytes |
Makefile | -rw-r--r-- | 3.0 KB |
cfg.c | -rw-r--r-- | 11.5 KB |
cfg.h | -rw-r--r-- | 1.9 KB |
cgroup.c | -rw-r--r-- | 6.8 KB |
common.c | -rw-r--r-- | 12.3 KB |
jit_disasm.c | -rw-r--r-- | 3.7 KB |
json_writer.c | -rw-r--r-- | 6.8 KB |
json_writer.h | -rw-r--r-- | 2.6 KB |
main.c | -rw-r--r-- | 8.5 KB |
main.h | -rw-r--r-- | 4.3 KB |
map.c | -rw-r--r-- | 18.5 KB |
map_perf_ring.c | -rw-r--r-- | 6.5 KB |
perf.c | -rw-r--r-- | 5.7 KB |
prog.c | -rw-r--r-- | 16.4 KB |
xlated_dumper.c | -rw-r--r-- | 8.9 KB |
xlated_dumper.h | -rw-r--r-- | 2.6 KB |
Computing file changes ...