From c7fdf44d08e1217d40dc092fb90a65978a0f541f Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

