diff options
-rw-r--r-- | src/soc/intel/cannonlake/reset.c | 11 | ||||
-rw-r--r-- | src/soc/intel/common/block/cse/cse.c | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/soc/intel/cannonlake/reset.c b/src/soc/intel/cannonlake/reset.c index 03f9cb812b..512fbbe0f3 100644 --- a/src/soc/intel/cannonlake/reset.c +++ b/src/soc/intel/cannonlake/reset.c @@ -25,6 +25,7 @@ /* Reset Request */ #define MKHI_GLOBAL_RESET 0x0b +#define MKHI_STATUS_SUCCESS 0 #define GR_ORIGIN_BIOS_MEM_INIT 0x01 #define GR_ORIGIN_BIOS_POST 0x02 @@ -67,13 +68,13 @@ static int send_heci_reset_message(void) reply_size = sizeof(reply); memset(&reply, 0, reply_size); - heci_receive(&reply, &reply_size); - /* get reply result from HECI MSG */ - if (reply.result != 0) { - printk(BIOS_DEBUG, "%s: Exit with Failure\n", __func__); + if (!heci_receive(&reply, &reply_size)) + return -1; + if (reply.result != MKHI_STATUS_SUCCESS) { + printk(BIOS_DEBUG, "Returned Mkhi Status is not success!\n"); return -1; } - printk(BIOS_DEBUG, "%s: Exit with Success\n", __func__); + printk(BIOS_DEBUG, "Heci recieve success!\n"); return 0; } diff --git a/src/soc/intel/common/block/cse/cse.c b/src/soc/intel/common/block/cse/cse.c index 370074e222..0ff999e199 100644 --- a/src/soc/intel/common/block/cse/cse.c +++ b/src/soc/intel/common/block/cse/cse.c @@ -438,6 +438,10 @@ int heci_receive(void *buff, size_t *maxlen) */ do { received = recv_one_message(&hdr, p, left); + if (!received) { + printk(BIOS_ERR, "HECI: Failed to recieve!\n"); + return 0; + } left -= received; p += received; /* If we read out everything ping to send more */ |