Gavin Shan 1ae79b78bc powerpc/eeh: Fix race condition in pcibios_set_pcie_reset_state()
When asserting reset in pcibios_set_pcie_reset_state(), the PE
is enforced to (hardware) frozen state in order to drop unexpected
PCI transactions (except PCI config read/write) automatically by
hardware during reset, which would cause recursive EEH error.
However, the (software) frozen state EEH_PE_ISOLATED is missed.
When users get 0xFF from PCI config or MMIO read, EEH_PE_ISOLATED
is set in PE state retrival backend. Unfortunately, nobody (the
reset handler or the EEH recovery functinality in host) will clear
EEH_PE_ISOLATED when the PE has been passed through to guest.

The patch sets and clears EEH_PE_ISOLATED properly during reset
in function pcibios_set_pcie_reset_state() to fix the issue.

Fixes: 28158cd ("Enhance pcibios_set_pcie_reset_state()")
Reported-by: Carol L. Soto <clsoto@us.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Tested-by: Carol L. Soto <clsoto@us.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-05-01 13:52:09 +10:00
..
2015-04-16 13:53:32 -05:00
2014-04-18 14:20:41 +02:00
2014-11-27 09:32:58 +11:00
2014-12-11 17:48:14 -08:00
2014-08-13 15:13:42 +10:00
2014-09-25 23:14:46 +10:00
2014-11-03 12:12:32 +11:00
2014-11-03 12:12:32 +11:00
2015-02-17 14:34:51 -08:00
2015-03-17 20:04:32 +11:00
2014-11-03 12:12:32 +11:00
2015-03-24 13:15:52 +11:00
2014-12-11 17:48:14 -08:00
2014-09-25 23:14:41 +10:00
2015-04-16 13:53:32 -05:00
2014-08-06 13:04:32 +02:00
2012-03-28 18:30:02 +01:00
2014-11-03 12:12:32 +11:00
2015-01-28 15:00:24 +11:00
2015-04-07 17:15:13 +10:00