diff mbox series

[v2,2/2] drm/i915/hdcp: Fix uninitialized symbol

Message ID 20210119064655.1605-3-anshuman.gupta@intel.com (mailing list archive)
State New, archived
Headers show
Series HDCP misc fixes | expand

Commit Message

Gupta, Anshuman Jan. 19, 2021, 6:46 a.m. UTC
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@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Comments

Nautiyal, Ankit K Jan. 20, 2021, 9:31 a.m. UTC | #1
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@intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@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@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);
>
diff mbox series

Patch

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;
 	}
 
-	/*
-	 * 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);