From c7fdf44d08e1217d40dc092fb90a65978a0f541f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 23 Apr 2014 06:55:54 +0200 Subject: [PATCH] backlight: warn if kernel exposes backlight device with bogus max_brightness We shouldn't silently tape over broken kernel drivers. --- src/backlight/backlight.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git src/backlight/backlight.c src/backlight/backlight.c index 754a646..c708391 100644 --- src/backlight/backlight.c +++ 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; } -- 1.7.9.2