Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a84db749 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: hdcp: handle hdcp1 mutex properly"

parents 6df3c2e2 ebae0e44
Loading
Loading
Loading
Loading
+7 −4
Original line number Original line Diff line number Diff line
/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2017, 2019, The Linux Foundation. All rights reserved.
 *
 *
 * This program is free software; you can redistribute it and/or modify
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * it under the terms of the GNU General Public License version 2 and
@@ -2315,19 +2315,20 @@ bool hdcp1_check_if_supported_load_app(void)


	/* start hdcp1 app */
	/* start hdcp1 app */
	if (hdcp1_supported && !hdcp1_handle->qsee_handle) {
	if (hdcp1_supported && !hdcp1_handle->qsee_handle) {
		mutex_init(&hdcp1_ta_cmd_lock);
		rc = qseecom_start_app(&hdcp1_handle->qsee_handle,
		rc = qseecom_start_app(&hdcp1_handle->qsee_handle,
				HDCP1_APP_NAME,
				HDCP1_APP_NAME,
				QSEECOM_SBUFF_SIZE);
				QSEECOM_SBUFF_SIZE);
		if (rc) {
		if (rc) {
			pr_err("hdcp1 qseecom_start_app failed %d\n", rc);
			pr_err("hdcp1 qseecom_start_app failed %d\n", rc);
			hdcp1_supported = false;
			hdcp1_supported = false;
			hdcp1_srm_supported = false;
			kfree(hdcp1_handle);
			kfree(hdcp1_handle);
		}
		}
	}
	}


	/* if hdcp1 app succeeds load SRM TA as well */
	/* if hdcp1 app succeeds load SRM TA as well */
	if (hdcp1_supported && !hdcp1_handle->srm_handle) {
	if (hdcp1_supported && !hdcp1_handle->srm_handle) {
		mutex_init(&hdcp1_ta_cmd_lock);
		rc = qseecom_start_app(&hdcp1_handle->srm_handle,
		rc = qseecom_start_app(&hdcp1_handle->srm_handle,
				SRMAPP_NAME,
				SRMAPP_NAME,
				QSEECOM_SBUFF_SIZE);
				QSEECOM_SBUFF_SIZE);
@@ -2559,8 +2560,10 @@ int hdcp1_set_enc(bool enable)


	hdcp1_qsee_handle = hdcp1_handle->qsee_handle;
	hdcp1_qsee_handle = hdcp1_handle->qsee_handle;


	if (!hdcp1_qsee_handle)
	if (!hdcp1_qsee_handle) {
		return -EINVAL;
		rc = -EINVAL;
		goto end;
	}


	if (hdcp1_enc_enabled == enable) {
	if (hdcp1_enc_enabled == enable) {
		pr_info("already %s\n", enable ? "enabled" : "disabled");
		pr_info("already %s\n", enable ? "enabled" : "disabled");