[PATCH] drm/i915/hdcp: Fix the return handling of drm_hdcp_check_ksvs_revoked

Sean Paul sean at poorly.run
Wed Apr 29 14:48:45 UTC 2020


On Wed, Apr 29, 2020 at 9:46 AM Ramalingam C <ramalingam.c at intel.com> wrote:
>
> drm_hdcp_check_ksvs_revoked() returns the number of revoked keys and
> error codes when the SRM parsing is failed.
>
> Errors in SRM parsing can't affect the HDCP auth, hence with this patch,
> I915 will look out for revoked key count alone.
>

Reviewed-by: Sean Paul <sean at poorly.run>

> Signed-off-by: Ramalingam C <ramalingam.c at intel.com>
> cc: Sean Paul <seanpaul at chromium.org>
> ---
>  drivers/gpu/drm/i915/display/intel_hdcp.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 2cbc4619b4ce..96bf6def9830 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -576,7 +576,7 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
>                 goto err;
>
>         if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, ksv_fifo,
> -                                       num_downstream)) {
> +                                       num_downstream) > 0) {
>                 drm_err(&dev_priv->drm, "Revoked Ksv(s) in ksv_fifo\n");
>                 ret = -EPERM;
>                 goto err;
> @@ -682,7 +682,7 @@ static int intel_hdcp_auth(struct intel_connector *connector)
>         if (ret < 0)
>                 return ret;
>
> -       if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, bksv.shim, 1)) {
> +       if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, bksv.shim, 1) > 0) {
>                 drm_err(&dev_priv->drm, "BKSV is revoked\n");
>                 return -EPERM;
>         }
> @@ -1283,7 +1283,7 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
>
>         if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm,
>                                         msgs.send_cert.cert_rx.receiver_id,
> -                                       1)) {
> +                                       1) > 0) {
>                 drm_err(&dev_priv->drm, "Receiver ID is revoked\n");
>                 return -EPERM;
>         }
> @@ -1484,7 +1484,7 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
>                       HDCP_2_2_DEV_COUNT_LO(rx_info[1]));
>         if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm,
>                                         msgs.recvid_list.receiver_ids,
> -                                       device_cnt)) {
> +                                       device_cnt) > 0) {
>                 drm_err(&dev_priv->drm, "Revoked receiver ID(s) is in list\n");
>                 return -EPERM;
>         }
> --
> 2.20.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list