[Skiboot] [PATCH skiboot] npu2: Return sensible PCI error when not frozen
Alexey Kardashevskiy
aik at ozlabs.ru
Thu Dec 6 10:50:13 AEDT 2018
The current kernel calls OPAL_PCI_EEH_FREEZE_STATUS with an uninitialized
@pci_error_type parameter and then analyzes it even if the OPAL call
returned OPAL_SUCCESS. This is results in unexpected EEH events and NPU
freezes.
This initializes @pci_error_type and @severity to known safe values.
Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
---
The corresponding kernel patch is under review:
https://patchwork.ozlabs.org/patch/999630/
---
hw/npu2.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/npu2.c b/hw/npu2.c
index 767306f..674ffee 100644
--- a/hw/npu2.c
+++ b/hw/npu2.c
@@ -1313,8 +1313,8 @@ static struct pci_slot *npu2_slot_create(struct phb *phb)
int64_t npu2_freeze_status(struct phb *phb __unused,
uint64_t pe_number __unused,
uint8_t *freeze_state,
- uint16_t *pci_error_type __unused,
- uint16_t *severity __unused,
+ uint16_t *pci_error_type,
+ uint16_t *severity,
uint64_t *phb_status __unused)
{
/*
@@ -1324,6 +1324,10 @@ int64_t npu2_freeze_status(struct phb *phb __unused,
* it keeps the skiboot PCI enumeration going.
*/
*freeze_state = OPAL_EEH_STOPPED_NOT_FROZEN;
+ *pci_error_type = OPAL_EEH_NO_ERROR;
+ if (severity)
+ *severity = OPAL_EEH_SEV_NO_ERROR;
+
return OPAL_SUCCESS;
}
--
2.17.1
More information about the Skiboot
mailing list