summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fbdev/msm/mdss_hdcp_1x.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdss_hdcp_1x.c b/drivers/video/fbdev/msm/mdss_hdcp_1x.c
index 2dc9c8f96c5b..2c86c8148211 100644
--- a/drivers/video/fbdev/msm/mdss_hdcp_1x.c
+++ b/drivers/video/fbdev/msm/mdss_hdcp_1x.c
@@ -1236,8 +1236,10 @@ static int hdcp_1x_authentication_part2(struct hdcp_1x *hdcp)
goto error;
/* do not proceed further if no device connected */
- if (!hdcp->current_tp.dev_count)
+ if (!hdcp->current_tp.dev_count) {
+ rc = -EINVAL;
goto error;
+ }
rc = hdcp_1x_write_ksv_fifo(hdcp);
} while (--v_retry && rc);
@@ -1344,7 +1346,7 @@ static void hdcp_1x_auth_work(struct work_struct *work)
goto end;
} else {
hdcp->hdcp_state = HDCP_STATE_AUTHENTICATED;
- goto end;
+ goto disable_sw_ddc;
}
hdcp->ksv_ready = false;
@@ -1353,6 +1355,7 @@ static void hdcp_1x_auth_work(struct work_struct *work)
if (rc)
goto end;
+disable_sw_ddc:
/*
* Disabling software DDC before going into part3 to make sure
* there is no Arbitration between software and hardware for DDC