diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index dfb88e5d7fcd..4145f26261f4 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -2637,6 +2637,11 @@ err_resp: case QSEOS_RESULT_SUCCESS: case QSEOS_RESULT_INCOMPLETE: break; + case QSEOS_RESULT_CBACK_REQUEST: + pr_warn("get cback req app_id = %d, resp->data = %d\n", + data->client.app_id, resp->data); + resp->resp_type = SMCINVOKE_RESULT_INBOUND_REQ_NEEDED; + break; default: pr_err("fail:resp res= %d,app_id = %d,lstr = %d\n", resp->result, data->client.app_id, lstnr); diff --git a/include/soc/qcom/qseecomi.h b/include/soc/qcom/qseecomi.h index 2e9025fc727e..a4b30bdff3d3 100644 --- a/include/soc/qcom/qseecomi.h +++ b/include/soc/qcom/qseecomi.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* - * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved. */ #ifndef __QSEECOMI_H_ @@ -23,6 +23,8 @@ #define QSEOS_RESULT_FAIL_MAX_ATTEMPT -72 #define QSEOS_RESULT_FAIL_PENDING_OPERATION -73 +#define SMCINVOKE_RESULT_INBOUND_REQ_NEEDED 3 + enum qseecom_command_scm_resp_type { QSEOS_APP_ID = 0xEE01, QSEOS_LISTENER_ID @@ -77,6 +79,7 @@ enum qseecom_qceos_cmd_status { QSEOS_RESULT_SUCCESS = 0, QSEOS_RESULT_INCOMPLETE, QSEOS_RESULT_BLOCKED_ON_LISTENER, + QSEOS_RESULT_CBACK_REQUEST, QSEOS_RESULT_FAILURE = 0xFFFFFFFF };