DF-1967 / fix.diff
diff --git a/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c --- a/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +++ b/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c @@ -344,6 +344,11 @@ master->connector_id); aconnector->mst_encoder = dm_dp_create_fake_mst_encoder(master); + if (!aconnector->mst_encoder) { + drm_connector_cleanup(connector); + kfree(aconnector); + return DRM_MODE_CONNECTOR_DisplayPort; + } drm_connector_attach_encoder(&aconnector->base, &aconnector->mst_encoder->base); |