diff options
author | Andrew Donnellan <andrew.donnellan@au1.ibm.com> | 2016-12-09 16:01:22 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-12-13 15:50:59 +1100 |
commit | 7fe3de438b19545471d2fb72e54ed01a40b12706 (patch) | |
tree | ef32c5df9be8a4bee9863c0eb0f82b32a76510a6 | |
parent | 2bcffb9eb7685c0ae561313318aaf1efffabf5d6 (diff) | |
download | skiboot-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.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -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; } |