DragonFlyBSD Kernel Audit
DF-1411 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/i915/intel_panel.c b/sys/dev/drm/i915/intel_panel.c
--- a/sys/dev/drm/i915/intel_panel.c
+++ b/sys/dev/drm/i915/intel_panel.c
@@ -1812,7 +1812,6 @@
 sysctl_backlight_handler(SYSCTL_HANDLER_ARGS)
 {
 	struct intel_connector *connector = arg1;
-	const struct drm_connector_state *conn_state = connector->base.state;
 	struct drm_device *dev = connector->base.dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_panel *panel = &connector->panel;
@@ -1832,7 +1831,10 @@
 	}
 
 	if (val != user_level && val >= 0 && val <= max_brightness) {
+		const struct drm_connector_state *conn_state;
+
 		drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
+		conn_state = connector->base.state;
 		intel_panel_set_backlight(conn_state, val, max_brightness);
 		drm_modeset_unlock(&dev->mode_config.connection_mutex);
 	}