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

drm/radeon/audio: make sure connector is valid in hotplug case

Avoids a crash when a monitor is hotplugged and the encoder
and connector are not linked yet.

bug:
https://bugs.freedesktop.org/show_bug.cgi?id=90681

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org

+3 -2
+3 -2
drivers/gpu/drm/radeon/evergreen_hdmi.c
··· 400 400 if (enable) { 401 401 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); 402 402 403 - if (drm_detect_monitor_audio(radeon_connector_edid(connector))) { 403 + if (connector && drm_detect_monitor_audio(radeon_connector_edid(connector))) { 404 404 WREG32(HDMI_INFOFRAME_CONTROL0 + dig->afmt->offset, 405 405 HDMI_AVI_INFO_SEND | /* enable AVI info frames */ 406 406 HDMI_AVI_INFO_CONT | /* required for audio info values to be updated */ ··· 438 438 if (!dig || !dig->afmt) 439 439 return; 440 440 441 - if (enable && drm_detect_monitor_audio(radeon_connector_edid(connector))) { 441 + if (enable && connector && 442 + drm_detect_monitor_audio(radeon_connector_edid(connector))) { 442 443 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); 443 444 struct radeon_connector *radeon_connector = to_radeon_connector(connector); 444 445 struct radeon_connector_atom_dig *dig_connector;