diff options
| author | Suraj Kandpal <suraj.kandpal@intel.com> | 2024-10-23 20:37:57 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-11-08 16:31:02 +0100 |
| commit | 4912e8fb3c37fb2dedf48d9c18bbbecd70e720f8 (patch) | |
| tree | 57474889955f49d348f0317d870db2c644d39450 | |
| parent | d0b83f496ece1bbb0f90ac4ec37e937ebf5d24fa (diff) | |
| download | linux-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.c | 7 |
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; |
