summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuraj Kandpal <suraj.kandpal@intel.com>2024-10-23 20:37:57 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-11-08 16:31:02 +0100
commit4912e8fb3c37fb2dedf48d9c18bbbecd70e720f8 (patch)
tree57474889955f49d348f0317d870db2c644d39450
parentd0b83f496ece1bbb0f90ac4ec37e937ebf5d24fa (diff)
downloadlinux-4912e8fb3c37fb2dedf48d9c18bbbecd70e720f8.tar.gz
linux-4912e8fb3c37fb2dedf48d9c18bbbecd70e720f8.tar.bz2
linux-4912e8fb3c37fb2dedf48d9c18bbbecd70e720f8.zip
drm/i915/hdcp: Add encoder check in intel_hdcp_get_capability
commit 31b42af516afa1e184d1a9f9dd4096c54044269a upstream. Sometimes during hotplug scenario or suspend/resume scenario encoder is not always initialized when intel_hdcp_get_capability add a check to avoid kernel null pointer dereference. Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> Reviewed-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240722064451.3610512-2-suraj.kandpal@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/i915/display/intel_hdcp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index b0440cc59c23..c2f42be26128 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -203,11 +203,16 @@ int intel_hdcp_read_valid_bksv(struct intel_digital_port *dig_port,
/* Is HDCP1.4 capable on Platform and Sink */
bool intel_hdcp_get_capability(struct intel_connector *connector)
{
- struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
+ struct intel_digital_port *dig_port;
const struct intel_hdcp_shim *shim = connector->hdcp.shim;
bool capable = false;
u8 bksv[5];
+ if (!intel_attached_encoder(connector))
+ return capable;
+
+ dig_port = intel_attached_dig_port(connector);
+
if (!shim)
return capable;