[3/6] phb4: Skip attempting to fix PHBs broken on boot

Message ID 20170810065843.13893-3-ruscur@russell.cc
State Accepted
Headers show

Commit Message

Russell Currey Aug. 10, 2017, 6:58 a.m.
If a PHB is marked broken it didn't work on boot, and if it didn't work
on boot then there's no point trying to recover it later

Signed-off-by: Russell Currey <ruscur@russell.cc>
---
 hw/phb4.c | 4 ++++
 1 file changed, 4 insertions(+)

Patch

diff --git a/hw/phb4.c b/hw/phb4.c
index 7e8f68bf..012a8cdc 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: