Re: [PATCH] acpi/video: lcd_get_level_current doen't return currentlevel

From: Artem Savkov
Date: Sun Mar 31 2013 - 02:46:29 EST


On Sun, Mar 31, 2013 at 08:15:14AM +0200, Danny Baumann wrote:
> Artem Savkov <artem.savkov@xxxxxxxxx> schrieb:
> >acpi_video_device_lcd_get_level_current() called
> >acpi_video_bqc_value_to_level()
> >with "*level" as a second argument, resulting in level being returned
> >based on
> >initial input, not current brightness, breaking backlight controls.
> I don't think this change is correct. As level was passed as parameter into the evaluation of _BQC, *level contains the AML returned brightness level afterwards, so it's correct to use it as an input to acpi_video_bqc_value_to_level(). Actually, the whole point of acpi_video_device_lcd_get_level_current() is to update device->brightness->curr, so it doesn't make sense to me to use it in that function.
>
> What's the exact problem this patch tries to solve?

I'm running a -next kernel on my laptop and couple of days ago keyboard
backlight controls stopped working: only 2 lower brightness levels. I've
debugged it a bit and found out that acpi_video_switch_brightness() calls
acpi_video_device_lcd_get_level_current() with level uninitialized and
always gets lowest posible value.

--
Regards,
Artem
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/