aboutsummaryrefslogtreecommitdiff
path: root/platforms
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2020-02-06 20:36:22 +0530
committerOliver O'Halloran <oohall@gmail.com>2020-02-12 15:46:10 +1100
commit958769d134b02ee14858f01c1f1f452449463e0f (patch)
tree25ad050a654963fe253f14cf7fc447934eb83d30 /platforms
parentb858aef5210e98b19419ad4dc347cf96d89cbf85 (diff)
downloadskiboot-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.c6
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))