aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Donnellan <andrew.donnellan@au1.ibm.com>2016-12-09 16:01:22 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-12-13 15:50:59 +1100
commit7fe3de438b19545471d2fb72e54ed01a40b12706 (patch)
treeef32c5df9be8a4bee9863c0eb0f82b32a76510a6
parent2bcffb9eb7685c0ae561313318aaf1efffabf5d6 (diff)
downloadskiboot-7fe3de438b19545471d2fb72e54ed01a40b12706.zip
skiboot-7fe3de438b19545471d2fb72e54ed01a40b12706.tar.gz
skiboot-7fe3de438b19545471d2fb72e54ed01a40b12706.tar.bz2
hw/phb3: fix error handling in complete reset
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@in.ibm.com> Suggested-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Acked-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--hw/phb3.c3
1 files changed, 1 insertions, 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;
}