From: Lennart Poettering Date: Wed, 23 Apr 2014 04:55:54 +0000 (+0200) Subject: backlight: warn if kernel exposes backlight device with bogus max_brightness X-Git-Tag: v213~336 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=c7fdf44d08e1217d40dc092fb90a65978a0f541f;hp=e30fa16e27cbd48f960113a1d72d9a15c3b2d67b;p=elogind.git backlight: warn if kernel exposes backlight device with bogus max_brightness We shouldn't silently tape over broken kernel drivers. --- diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c index 754a646c3..c70839161 100644 --- a/src/backlight/backlight.c +++ b/src/backlight/backlight.c @@ -205,14 +205,18 @@ static unsigned get_max_brightness(struct udev_device *device) { max_brightness_str = udev_device_get_sysattr_value(device, "max_brightness"); if (!max_brightness_str) { - log_warning("Failed to read 'max_brightness' attribute"); + log_warning("Failed to read 'max_brightness' attribute."); return 0; } r = safe_atou(max_brightness_str, &max_brightness); if (r < 0) { - log_warning("Failed to parse 'max_brightness' \"%s\": %s", - max_brightness_str, strerror(-r)); + log_warning("Failed to parse 'max_brightness' \"%s\": %s", max_brightness_str, strerror(-r)); + return 0; + } + + if (max_brightness <= 0) { + log_warning("Maximum brightness is 0, ignoring device."); return 0; }