From 84424a93e33221a387f7933180f4e5f1555098ac Mon Sep 17 00:00:00 2001 From: Rajat Gupta Date: Thu, 27 Feb 2020 13:30:50 +0530 Subject: [PATCH] disp: msm: hdcp: reset authentication state for client initiated abort Return EINVAL upon early exit/abort of authentication and reset the authentication state. Change-Id: I4862bbe55301eabef2a83849a551eb948f73569b Signed-off-by: Rajat Gupta Signed-off-by: Tatenda Chipeperekwa --- msm/sde_hdcp_1x.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/msm/sde_hdcp_1x.c b/msm/sde_hdcp_1x.c index e321344ddf..ed32ffffa8 100644 --- a/msm/sde_hdcp_1x.c +++ b/msm/sde_hdcp_1x.c @@ -1057,8 +1057,10 @@ static void sde_hdcp_1x_auth_work(struct work_struct *work) return; } - if (atomic_read(&hdcp->abort)) + if (atomic_read(&hdcp->abort)) { + rc = -EINVAL; goto end; + } hdcp->sink_r0_ready = false; hdcp->reauth = false; @@ -1495,6 +1497,8 @@ static void sde_hdcp_1x_abort(void *data, bool abort) atomic_set(&hdcp->abort, abort); cancel_delayed_work_sync(&hdcp->hdcp_auth_work); flush_workqueue(hdcp->workq); + if (sde_hdcp_1x_state(HDCP_STATE_AUTHENTICATING)) + hdcp->hdcp_state = HDCP_STATE_AUTH_FAIL; } void *sde_hdcp_1x_init(struct sde_hdcp_init_data *init_data)