msm: mdss: hdcp_1x: call HDCP 1x APIs only if HDCP 2.2 is not present

HDCP1x module is initialized only if HDCP 2.2 is not present either from
the source OR sink side. Make sure to call the HDCP 1x APIs only if
HDCP 2.2 is not present. Otherwise this leads to a crash.

Change-Id: Id66dec10ffd585630a2e4c1e5c75bee99ce515de
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
This commit is contained in:
Vishnuvardhan Prodduturi 2017-09-19 16:57:05 +05:30 committed by Gerrit - the friendly Code Review server
parent 6604cb543e
commit 6995e0f6d7

View file

@ -1577,12 +1577,14 @@ static void hdmi_tx_hdcp_cb_work(struct work_struct *work)
rc = hdmi_tx_config_avmute(hdmi_ctrl, false); rc = hdmi_tx_config_avmute(hdmi_ctrl, false);
} }
if (hdmi_ctrl->hdcp1_use_sw_keys && hdmi_ctrl->hdcp14_present) if (hdmi_ctrl->hdcp1_use_sw_keys && hdmi_ctrl->hdcp14_present) {
hdcp1_set_enc(true); if (!hdmi_ctrl->hdcp22_present)
hdcp1_set_enc(true);
}
break; break;
case HDCP_STATE_AUTH_FAIL: case HDCP_STATE_AUTH_FAIL:
if (hdmi_ctrl->hdcp1_use_sw_keys && hdmi_ctrl->hdcp14_present) { if (hdmi_ctrl->hdcp1_use_sw_keys && hdmi_ctrl->hdcp14_present) {
if (hdmi_ctrl->auth_state) if (hdmi_ctrl->auth_state && !hdmi_ctrl->hdcp22_present)
hdcp1_set_enc(false); hdcp1_set_enc(false);
} }