It is fine for displays without audio functionality to not provide any SAD block in their EDID. Do not log an error in that case, just return quietly.
Inspired by a similar fix to the amdgpu driver in the context of bug fdo#107825: https://bugs.freedesktop.org/show_bug.cgi?id=107825
Signed-off-by: Jean Delvare jdelvare@suse.de Cc: Alex Deucher alexander.deucher@amd.com Cc: "Christian König" christian.koenig@amd.com Cc: "David (ChunMing) Zhou" David1.Zhou@amd.com Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch --- drivers/gpu/drm/radeon/radeon_audio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
--- linux-5.2.orig/drivers/gpu/drm/radeon/radeon_audio.c 2019-08-30 18:04:15.125056697 +0200 +++ linux-5.2/drivers/gpu/drm/radeon/radeon_audio.c 2019-08-30 18:04:35.078311347 +0200 @@ -367,10 +367,10 @@ static void radeon_audio_write_sad_regs( return;
sad_count = drm_edid_to_sad(radeon_connector_edid(connector), &sads); - if (sad_count <= 0) { + if (sad_count < 0) DRM_ERROR("Couldn't read SADs: %d\n", sad_count); + if (sad_count <= 0) return; - } BUG_ON(!sads);
if (radeon_encoder->audio && radeon_encoder->audio->write_sad_regs)