Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: only set DP subconnector type on DP and eDP connectors

Fixes a crash in drm_object_property_set_value() because the property
is not set for internal DP ports that connect to a bridge chips
(e.g., DP to VGA or DP to LVDS).

Bug: https://bugzilla.kernel.org/show_bug.cgi?id=210739
Fixes: 65bf2cf95d3ade ("drm/amdgpu: utilize subconnector property for DP through atombios")
Tested-By: Kris Karas <bugs-a17@moonlit-rail.com>
Cc: Oleg Vasilev <oleg.vasilev@intel.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org # 5.10.x

+6 -4
+6 -4
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
··· 1414 1414 pm_runtime_put_autosuspend(connector->dev->dev); 1415 1415 } 1416 1416 1417 - drm_dp_set_subconnector_property(&amdgpu_connector->base, 1418 - ret, 1419 - amdgpu_dig_connector->dpcd, 1420 - amdgpu_dig_connector->downstream_ports); 1417 + if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || 1418 + connector->connector_type == DRM_MODE_CONNECTOR_eDP) 1419 + drm_dp_set_subconnector_property(&amdgpu_connector->base, 1420 + ret, 1421 + amdgpu_dig_connector->dpcd, 1422 + amdgpu_dig_connector->downstream_ports); 1421 1423 return ret; 1422 1424 } 1423 1425