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
..
2014-11-27 09:42:12 +11:00
2014-03-19 19:57:14 -05:00
2014-11-10 09:59:32 +11:00
2015-04-21 15:21:34 +02:00
2013-08-27 16:01:23 +10:00
2015-04-11 20:49:28 +10:00
2014-09-22 10:11:31 +02:00
2015-03-17 07:52:48 +11:00
2015-04-16 13:53:32 -05:00
2014-11-10 09:59:26 +11:00
2014-04-18 14:20:41 +02:00
2015-03-20 14:51:53 +11:00
2014-11-18 11:30:01 +01:00
2015-04-11 20:49:17 +10:00
2014-10-17 09:21:44 +11:00
2015-03-24 13:15:53 +11:00
2015-03-24 13:15:51 +11:00
2015-03-24 13:15:53 +11:00
2014-06-11 17:04:33 +10:00
2015-03-31 13:10:39 +11:00
2014-11-27 09:32:58 +11:00
2015-05-01 13:52:09 +10:00
2015-02-02 14:51:32 +11:00
2015-04-30 15:24:58 +10:00
2013-03-13 14:19:36 -05:00
2014-06-10 18:54:22 -07:00
2014-09-22 10:11:31 +02:00
2015-03-23 17:10:47 +11:00
2014-10-30 16:52:46 +11:00
2014-01-15 13:59:11 +11:00
2014-01-09 17:52:16 -06:00
2014-12-11 17:48:14 -08:00
2015-01-29 21:59:02 -06:00
2014-06-11 16:31:21 +10:00
2014-08-13 15:13:42 +10:00
2014-08-05 14:13:41 +10:00
2013-05-02 10:31:01 +10:00
2014-09-22 10:11:31 +02:00
2014-11-03 12:12:32 +11:00
2014-09-25 23:14:46 +10:00
2012-07-11 14:18:22 +10:00
2014-04-23 10:05:16 +10:00
2012-07-11 14:18:22 +10:00
2014-04-23 10:05:16 +10:00
2015-03-23 15:06:50 +11:00
2013-07-01 11:10:35 +10:00
2015-04-17 11:23:39 +10:00
2013-08-14 14:58:08 +10:00
2014-06-24 12:43:13 +10:00
2015-03-04 13:19:33 +11:00
2014-11-10 09:59:26 +11:00
2013-01-03 15:57:04 -08:00
2014-11-03 12:12:32 +11:00
2014-11-03 12:12:32 +11:00
2012-05-30 11:43:11 +02:00
2014-06-04 08:47:12 -07:00
2014-09-25 23:14:46 +10:00
2015-02-17 14:34:51 -08:00
2014-02-11 11:24:52 +11:00
2015-03-17 20:04:32 +11:00
2015-03-17 07:52:48 +11:00
2014-11-03 12:12:32 +11:00
2014-02-17 11:19:34 +11:00
2014-04-23 10:05:28 +10:00
2014-10-15 11:23:20 +11:00
2014-10-02 17:33:54 +10:00
2014-10-02 17:33:54 +10:00
2013-10-30 16:00:31 +11:00
2014-10-01 12:21:14 -06:00
2015-03-23 14:06:11 +11:00
2015-03-24 13:15:52 +11:00
2015-01-23 14:02:52 +11:00
2014-11-19 21:41:51 +11:00
2014-12-11 17:48:14 -08:00
2015-03-31 13:02:38 +11:00
2015-04-11 20:49:18 +10:00
2015-04-14 09:29:23 +10:00
2015-04-11 20:49:18 +10:00
2013-02-03 18:16:10 -05:00
2014-09-25 23:14:40 +10:00
2014-10-15 11:23:20 +11:00
2013-06-29 12:57:50 +04:00
2015-03-20 12:41:15 +11:00
2014-09-25 23:14:46 +10:00
2015-04-10 20:02:48 +10:00
2013-08-14 15:33:26 +10:00
2015-04-14 09:50:27 -07:00
2013-10-18 18:44:49 -05:00
2014-10-19 16:25:56 -07:00
2013-07-01 11:10:34 +10:00
2014-03-07 13:50:19 +11:00
2014-07-28 11:30:54 +10:00
2015-04-11 20:49:09 +10:00
2014-11-10 09:59:32 +11:00
2015-04-10 20:02:48 +10:00
2014-09-25 23:14:41 +10:00
2014-11-10 09:59:31 +11:00
2015-04-16 13:53:32 -05:00
2014-11-03 12:12:51 +11:00
2015-02-12 18:54:12 -08:00
2015-02-12 18:54:12 -08:00
2014-08-06 13:04:32 +02:00
2014-08-06 13:03:09 +02:00
2014-01-15 13:46:44 +11:00
2015-03-04 13:19:33 +11:00
2014-10-15 11:23:20 +11:00
2014-10-09 22:26:04 -04:00
2012-03-28 18:30:02 +01:00
2013-10-31 12:37:29 +11:00
2014-01-07 19:06:03 -06:00
2012-03-28 18:30:02 +01:00
2013-05-09 13:46:38 -04:00
2015-03-28 22:03:40 +11:00
2014-11-03 12:12:32 +11:00
2015-03-28 22:03:40 +11:00
2015-03-28 22:03:40 +11:00
2015-04-21 15:21:31 +02:00
2015-03-16 18:32:11 +11:00
2015-01-28 15:00:24 +11:00
2014-11-12 13:47:20 +11:00
2015-04-07 17:15:13 +10:00
2013-11-20 16:31:01 +01:00
2014-11-10 09:59:26 +11:00
2013-10-11 17:26:49 +11:00
2015-03-16 18:32:11 +11:00
2014-08-08 15:57:28 -07:00
2013-07-24 14:18:43 +10:00