diff options
author | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2020-02-06 20:36:22 +0530 |
---|---|---|
committer | Oliver O'Halloran <oohall@gmail.com> | 2020-02-12 15:46:10 +1100 |
commit | 958769d134b02ee14858f01c1f1f452449463e0f (patch) | |
tree | 25ad050a654963fe253f14cf7fc447934eb83d30 /platforms | |
parent | b858aef5210e98b19419ad4dc347cf96d89cbf85 (diff) | |
download | skiboot-958769d134b02ee14858f01c1f1f452449463e0f.zip skiboot-958769d134b02ee14858f01c1f1f452449463e0f.tar.gz skiboot-958769d134b02ee14858f01c1f1f452449463e0f.tar.bz2 |
FSP: Remove flash hook after completing code update
In some corner cases, FSP may not respond to Deep IPL request after
code update -OR- it may delay processing MBOX command. In such cases
we may enter code update path again.. which is not required.
Hence clear flash hook after completing code update.
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Diffstat (limited to 'platforms')
-rw-r--r-- | platforms/ibm-fsp/common.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/platforms/ibm-fsp/common.c b/platforms/ibm-fsp/common.c index b58b073..10bbff5 100644 --- a/platforms/ibm-fsp/common.c +++ b/platforms/ibm-fsp/common.c @@ -200,6 +200,9 @@ int64_t ibm_fsp_cec_reboot(void) fsp_flash_term_hook() == OPAL_SUCCESS) cmd = FSP_CMD_DEEP_REBOOT; + /* Clear flash hook */ + fsp_flash_term_hook = NULL; + printf("FSP: Sending 0x%02x reboot command to FSP...\n", cmd); /* If that failed, talk to the FSP */ @@ -228,6 +231,9 @@ int64_t ibm_fsp_cec_power_down(uint64_t request) if (fsp_flash_term_hook) fsp_flash_term_hook(); + /* Clear flash hook */ + fsp_flash_term_hook = NULL; + printf("FSP: Sending shutdown command to FSP...\n"); if (fsp_sync_msg(fsp_mkmsg(FSP_CMD_POWERDOWN_NORM, 1, request), true)) |