aboutsummaryrefslogtreecommitdiff
path: root/hw/npu2-opencapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/npu2-opencapi.c')
-rw-r--r--hw/npu2-opencapi.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/npu2-opencapi.c b/hw/npu2-opencapi.c
index f159c01..8598dca 100644
--- a/hw/npu2-opencapi.c
+++ b/hw/npu2-opencapi.c
@@ -1221,6 +1221,7 @@ static int64_t npu2_opencapi_freset(struct pci_slot *slot)
struct npu2_dev *dev = phb_to_npu2_dev_ocapi(slot->phb);
uint32_t chip_id = dev->npu->chip_id;
uint8_t presence = 1;
+ int rc;
switch (slot->state) {
case OCAPI_SLOT_NORMAL:
@@ -1250,7 +1251,11 @@ static int64_t npu2_opencapi_freset(struct pci_slot *slot)
return pci_slot_set_sm_timeout(slot, msecs_to_tb(5));
case OCAPI_SLOT_FRESET_ASSERT_DELAY:
- npu2_opencapi_phy_reset(dev);
+ rc = npu2_opencapi_phy_reset(dev);
+ if (rc) {
+ OCAPIERR(dev, "FRESET: couldn't reset PHY state\n");
+ return OPAL_HARDWARE;
+ }
deassert_odl_reset(chip_id, dev->brick_index);
deassert_adapter_reset(dev);
pci_slot_set_state(slot,