DragonFlyBSD Kernel Audit
DF-1911 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/radeon/r600_hdmi.c b/sys/dev/drm/radeon/r600_hdmi.c
--- a/sys/dev/drm/radeon/r600_hdmi.c
+++ b/sys/dev/drm/radeon/r600_hdmi.c
@@ -129,12 +129,15 @@
 		changed = true;
 	}
 
+	mutex_lock(&dev->mode_config.mutex);
 	list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
 		if (!radeon_encoder_is_digital(encoder))
 			continue;
 		if (changed || r600_hdmi_buffer_status_changed(encoder))
 			r600_hdmi_update_audio_settings(encoder);
 	}
+
+	mutex_unlock(&dev->mode_config.mutex);
 }
 
 /* enable the audio stream */