diff mbox series

FSP: Remove flash hook after completing code update

Message ID 20200206150622.32695-1-hegdevasant@linux.vnet.ibm.com
State Accepted
Headers show
Series FSP: Remove flash hook after completing code update | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success Successfully applied on branch master (179d53dfcca30436777b0c748d530a979bbc8a45)
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot success Test snowpatch/job/snowpatch-skiboot on branch master
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot-dco success Signed-off-by present

Commit Message

Vasant Hegde Feb. 6, 2020, 3:06 p.m. UTC
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>
---
 platforms/ibm-fsp/common.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Oliver O'Halloran Feb. 17, 2020, 4:01 a.m. UTC | #1
On Fri, Feb 7, 2020 at 2:06 AM Vasant Hegde
<hegdevasant@linux.vnet.ibm.com> wrote:
>
> 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>

Thanks, merged as 958769d134b02ee14858f01c1f1f452449463e0f
diff mbox series

Patch

diff --git a/platforms/ibm-fsp/common.c b/platforms/ibm-fsp/common.c
index b58b07337..10bbff556 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))