aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/phb4.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/phb4.c b/hw/phb4.c
index 7e8f68b..012a8cd 100644
--- a/hw/phb4.c
+++ b/hw/phb4.c
@@ -2608,6 +2608,10 @@ static int64_t phb4_creset(struct pci_slot *slot)
struct phb4 *p = phb_to_phb4(slot->phb);
uint64_t pbcq_status, reg;
+ /* Don't even try fixing a broken PHB */
+ if (p->state == PHB4_STATE_BROKEN)
+ return OPAL_HARDWARE;
+
switch (slot->state) {
case PHB4_SLOT_NORMAL:
case PHB4_SLOT_CRESET_START: