[Skiboot] [PATCH] hw/phb3: fix error handling in complete reset

Andrew Donnellan andrew.donnellan at au1.ibm.com
Fri Dec 9 16:01:22 AEDT 2016


During a complete reset, when we get a timeout waiting for pending
transaction in state PHB3_STATE_CRESET_WAIT_CQ, we mark the PHB as
permanently broken.

Set the state to PHB3_STATE_FENCED so that the kernel can retry the
complete reset.

Reported-by: Pradipta Ghosh <pradghos at in.ibm.com>
Suggested-by: Gavin Shan <gwshan at linux.vnet.ibm.com>
Signed-off-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>

---

This applies on top of mainline.

See also: http://patchwork.ozlabs.org/patch/697595/
---
 hw/phb3.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/hw/phb3.c b/hw/phb3.c
index da54bd0..27bbe94 100644
--- a/hw/phb3.c
+++ b/hw/phb3.c
@@ -2643,9 +2643,8 @@ static int64_t phb3_creset(struct pci_slot *slot)
 		       slot->state);
 	}
 
-	/* Mark the PHB as dead and expect it to be removed */
 error:
-	p->state = PHB3_STATE_BROKEN;
+	p->state = PHB3_STATE_FENCED;
 	return OPAL_HARDWARE;
 }
 
-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com  IBM Australia Limited



More information about the Skiboot mailing list