[Intel-gfx] [PATCH v2 2/2] drm/i915/hdcp: Fix uninitialized symbol

Nautiyal, Ankit K ankit.k.nautiyal at intel.com
Wed Jan 20 09:31:34 UTC 2021


On 1/19/2021 12:16 PM, Anshuman Gupta wrote:
> Move (num_hdcp_streams > 0) condition to stream_encryption()
> code block, where it actually belongs.
> This fixes the static analysis error of uninitialized symbol 'ret'.
>
> Cc: Ramalingam C <ramalingam.c at intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta at intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_hdcp.c | 20 ++++++++++----------
>   1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 581ccb038b87..9ca0d67b10f5 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -878,15 +878,15 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
>   		}
>   		drm_dbg_kms(&dev_priv->drm, "HDCP 1.4 transcoder: %s stream encryption disabled\n",
>   			    transcoder_name(hdcp->stream_transcoder));
> +		/*
> +		 * If there are other connectors on this port using HDCP,
> +		 * don't disable it until it disabled HDCP encryption for
> +		 * all connectors in MST topology.
> +		 */
> +		if (dig_port->num_hdcp_streams > 0)
> +			return ret;

Looks good to me. Agreed Check for num_hdcp_streams should be inside the 
block for checking stream_encryption.

Small suggestion: return 0 would be more appropriate here as the return 
value is already checked for error in previous lines.

We just want to return successfully from here, as there is nothing to do 
in case there are still active hdcp_streams.

Same for the hdcp_2_disable below.

In any case:

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>

>   	}
>   
> -	/*
> -	 * If there are other connectors on this port using HDCP, don't disable it
> -	 * until it disabled HDCP encryption for all connectors in MST topology.
> -	 */
> -	if (dig_port->num_hdcp_streams > 0)
> -		return ret;
> -
>   	hdcp->hdcp_encrypted = false;
>   	intel_de_write(dev_priv, HDCP_CONF(dev_priv, cpu_transcoder, port), 0);
>   	if (intel_de_wait_for_clear(dev_priv,
> @@ -1947,10 +1947,10 @@ static int _intel_hdcp2_disable(struct intel_connector *connector)
>   		}
>   		drm_dbg_kms(&i915->drm, "HDCP 2.2 transcoder: %s stream encryption disabled\n",
>   			    transcoder_name(hdcp->stream_transcoder));
> -	}
>   
> -	if (dig_port->num_hdcp_streams > 0)
> -		return ret;
> +		if (dig_port->num_hdcp_streams > 0)
> +			return ret;
> +	}
>   
>   	ret = hdcp2_disable_encryption(connector);
>   


More information about the Intel-gfx mailing list