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:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| aer.c | ||
| aer_inject.c | ||
| aspm.c | ||
| dpc.c | ||
| err.c | ||
| pme.c | ||
| portdrv.h | ||
| portdrv_core.c | ||
| portdrv_pci.c | ||
| ptm.c | ||