diff --git a/[refs] b/[refs] index 094554edbe0d..34504a274123 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: be3128b107e36271f7973ef213ccde603a494fe8 +refs/heads/master: ba05b237372bad82533d1f717569d1d817ff3c27 diff --git a/trunk/drivers/platform/x86/samsung-laptop.c b/trunk/drivers/platform/x86/samsung-laptop.c index 1e436ebdcffc..31ddd57e8ca7 100644 --- a/trunk/drivers/platform/x86/samsung-laptop.c +++ b/trunk/drivers/platform/x86/samsung-laptop.c @@ -404,8 +404,9 @@ static int get_brightness(struct backlight_device *bd) static void check_for_stepping_quirk(void) { - u8 initial_level = read_brightness(); + u8 initial_level; u8 check_level; + u8 orig_level = read_brightness(); /* * Some laptops exhibit the strange behaviour of stepping toward @@ -414,6 +415,11 @@ static void check_for_stepping_quirk(void) * around in set_brightness. */ + if (orig_level == 0) + set_brightness(1); + + initial_level = read_brightness(); + if (initial_level <= 2) check_level = initial_level + 2; else @@ -427,7 +433,7 @@ static void check_for_stepping_quirk(void) pr_info("enabled workaround for brightness stepping quirk\n"); } - set_brightness(initial_level); + set_brightness(orig_level); } static int update_status(struct backlight_device *bd)