diff --git a/drivers/soc/qcom/spss_utils.c b/drivers/soc/qcom/spss_utils.c index d728e4950872..79dbc84b5e64 100644 --- a/drivers/soc/qcom/spss_utils.c +++ b/drivers/soc/qcom/spss_utils.c @@ -270,6 +270,9 @@ static ssize_t pbl_cmac_show(struct device *dev, return -EINVAL; } + /* first make sure the pbl cmac is updated */ + spss_get_pbl_and_apps_calc_cmac(); + ret = snprintf(buf, PAGE_SIZE, "0x%08x,0x%08x,0x%08x,0x%08x\n", pbl_cmac_buf[0], pbl_cmac_buf[1], pbl_cmac_buf[2], pbl_cmac_buf[3]); @@ -286,6 +289,9 @@ static ssize_t apps_cmac_show(struct device *dev, return -EINVAL; } + /* first make sure the pbl cmac is updated */ + spss_get_pbl_and_apps_calc_cmac(); + memcpy(buf, calc_apps_cmac, sizeof(calc_apps_cmac)); return sizeof(calc_apps_cmac); @@ -440,7 +446,6 @@ static long spss_utils_ioctl(struct file *file, pr_debug("read pbl cmac from shared memory\n"); spss_set_fw_cmac(cmac_buf, sizeof(cmac_buf)); spss_set_saved_uefi_apps_cmac(); - spss_get_pbl_and_apps_calc_cmac(); spss_get_saved_uefi_apps_cmac(); break; @@ -950,7 +955,6 @@ static int spss_utils_iar_callback(struct notifier_block *nb, break; case SUBSYS_AFTER_POWERUP: pr_debug("[SUBSYS_AFTER_POWERUP] event.\n"); - spss_get_pbl_and_apps_calc_cmac(); break; case SUBSYS_BEFORE_AUTH_AND_RESET: pr_debug("[SUBSYS_BEFORE_AUTH_AND_RESET] event.\n");