diff options
| -rw-r--r-- | drivers/misc/qseecom.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index fab9a07955dd..0c7cbfb862b9 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -252,7 +252,6 @@ struct qseecom_control { bool whitelist_support; bool commonlib_loaded; bool commonlib64_loaded; - struct ion_handle *cmnlib_ion_handle; struct ce_hw_usage_info ce_info; int qsee_bw_count; @@ -2616,6 +2615,8 @@ static int qseecom_unload_app(struct qseecom_dev_handle *data, if (!strcmp((void *)ptr_app->app_name, (void *)data->client.app_name)) { found_app = true; + if (ptr_app->app_blocked) + app_crash = false; if (app_crash || ptr_app->ref_cnt == 1) unload = true; break; @@ -4295,6 +4296,7 @@ static int qseecom_load_commonlib_image(struct qseecom_dev_handle *data, void *cmd_buf = NULL; size_t cmd_len; uint32_t app_arch = 0; + struct ion_handle *cmnlib_ion_handle = NULL; if (!cmnlib_name) { pr_err("cmnlib_name is NULL\n"); @@ -4309,7 +4311,7 @@ static int qseecom_load_commonlib_image(struct qseecom_dev_handle *data, if (__qseecom_get_fw_size(cmnlib_name, &fw_size, &app_arch)) return -EIO; - ret = __qseecom_allocate_img_data(&qseecom.cmnlib_ion_handle, + ret = __qseecom_allocate_img_data(&cmnlib_ion_handle, &img_data, fw_size, &pa); if (ret) return -EIO; @@ -4350,7 +4352,7 @@ static int qseecom_load_commonlib_image(struct qseecom_dev_handle *data, goto exit_unregister_bus_bw_need; } - ret = msm_ion_do_cache_op(qseecom.ion_clnt, qseecom.cmnlib_ion_handle, + ret = msm_ion_do_cache_op(qseecom.ion_clnt, cmnlib_ion_handle, img_data, fw_size, ION_IOC_CLEAN_INV_CACHES); if (ret) { @@ -4398,7 +4400,7 @@ exit_unregister_bus_bw_need: } exit_free_img_data: - __qseecom_free_img_data(&qseecom.cmnlib_ion_handle); + __qseecom_free_img_data(&cmnlib_ion_handle); return ret; } |
