diff options
author | Frederic Barrat <fbarrat@linux.vnet.ibm.com> | 2018-03-06 18:16:08 +0100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2018-03-06 18:33:47 -0600 |
commit | 48dd5f7b9fbba52f08cd991d3443748dd810a99b (patch) | |
tree | e454062e39ef93d5dc4fd69f160236cb01d3b52a /hw | |
parent | 0180de29859b237c7b1572f530221b5904b43494 (diff) | |
download | skiboot-48dd5f7b9fbba52f08cd991d3443748dd810a99b.zip skiboot-48dd5f7b9fbba52f08cd991d3443748dd810a99b.tar.gz skiboot-48dd5f7b9fbba52f08cd991d3443748dd810a99b.tar.bz2 |
npu2-opencapi: Fix assert on link reset during init
We don't support resetting an opencapi link yet.
Commit fe6d86b9 ("pci: Make fast reboot creset PHBs in parallel")
tries resetting any PHB whose slot defines a 'run_sm' callback. It
raises an assert when applied to an opencapi PHB, as 'run_sm' calls
the 'freset' callback, which is not yet defined for opencapi.
Fix it for now by removing the currently useless definition of
'run_sm' on the opencapi slot. It will print a message in the skiboot
log because the PHB cannot be reset, which is correct. It will all go
away when we add support for resetting an opencapi link.
Signed-off-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/npu2-opencapi.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/npu2-opencapi.c b/hw/npu2-opencapi.c index d8c2714..135acca 100644 --- a/hw/npu2-opencapi.c +++ b/hw/npu2-opencapi.c @@ -898,6 +898,15 @@ static struct pci_slot *npu2_opencapi_slot_create(struct phb *phb) slot->ops.get_latch_state = NULL; slot->ops.set_power_state = NULL; slot->ops.set_attention_state = NULL; + /* + * Temporarily erase the run_sm callback until we support + * dynamic reset of the link. Otherwise, run_sm may call + * freset, creset, ... and we don't define them. The run_sm + * pointer is always tested before being called, at least at + * the time of this writing :-) It will go away when we + * implement dynamic reset of the link + */ + slot->ops.run_sm = NULL; return slot; } |