Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1
systemd
0005-backlight-handle-saved-brightness-exceedin...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0005-backlight-handle-saved-brightness-exceeding-max-brig.patch of Package systemd
From 0c9d8f1d4b5018199cb5a9b57580dc1480a7f915 Mon Sep 17 00:00:00 2001 From: Jani Nikula <jani.nikula@intel.com> Date: Wed, 7 May 2014 12:01:01 +0300 Subject: [PATCH] backlight: handle saved brightness exceeding max brightness If too high a brightness value has been saved (e.g. due to kernel mechanism changing from one kernel version to another, or booting the userspace on another system), the brightness update fails and the process exits. Clamp saved brightness between the policy minimum introduced in commit 7b909d7407965c03caaba30daae7aee113627a83 Author: Josh Triplett <josh@joshtriplett.org> Date: Tue Mar 11 21:16:33 2014 -0700 backlight: Avoid restoring brightness to an unreadably dim level and the absolute maximum. https://bugs.freedesktop.org/show_bug.cgi?id=78200 --- src/backlight/backlight.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git src/backlight/backlight.c src/backlight/backlight.c index c708391..691472c 100644 --- src/backlight/backlight.c +++ src/backlight/backlight.c @@ -229,7 +229,7 @@ static unsigned get_max_brightness(struct udev_device *device) { * would otherwise force the user to disable state restoration. */ static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) { int r; - unsigned brightness, new_brightness; + unsigned brightness, new_brightness, min_brightness; r = safe_atou(*value, &brightness); if (r < 0) { @@ -237,7 +237,8 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned return; } - new_brightness = MAX3(brightness, 1U, max_brightness/20); + min_brightness = MAX(1U, max_brightness/20); + new_brightness = CLAMP(brightness, min_brightness, max_brightness); if (new_brightness != brightness) { char *old_value = *value; @@ -247,7 +248,11 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned return; } - log_debug("Saved brightness %s too low; increasing to %s.", old_value, *value); + log_info("Saved brightness %s %s to %s.", old_value, + new_brightness > brightness ? + "too low; increasing" : "too high; decreasing", + *value); + free(old_value); } } -- 1.7.9.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor