]> git.baikalelectronics.ru Git - kernel.git/commit
nvme-pci: Fix EEH failure on ppc
authorWen Xiong <wenxiong@linux.vnet.ibm.com>
Thu, 15 Feb 2018 20:05:10 +0000 (14:05 -0600)
committerKeith Busch <keith.busch@intel.com>
Thu, 1 Mar 2018 16:34:14 +0000 (09:34 -0700)
commit27e743db50639d33bbfff97daf96bbd042895921
tree775c5d3742d78fcbcd51e2ee82137cddf21ee017
parente18962e48add90188ebc2512e4c0e623604414ab
nvme-pci: Fix EEH failure on ppc

Triggering PPC EEH detection and handling requires a memory mapped read
failure. The NVMe driver removed the periodic health check MMIO, so
there's no early detection mechanism to trigger the recovery. Instead,
the detection now happens when the nvme driver handles an IO timeout
event. This takes the pci channel offline, so we do not want the driver
to proceed with escalating its own recovery efforts that may conflict
with the EEH handler.

This patch ensures the driver will observe the channel was set to offline
after a failed MMIO read and resets the IO timer so the EEH handler has
a chance to recover the device.

Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
[updated change log]
Signed-off-by: Keith Busch <keith.busch@intel.com>
drivers/nvme/host/pci.c