]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI: video: Fix acpi_video_handles_brightness_key_presses()
authorHans de Goede <hdegoede@redhat.com>
Wed, 13 Jul 2022 21:11:01 +0000 (23:11 +0200)
committerHans de Goede <hdegoede@redhat.com>
Thu, 14 Jul 2022 19:40:20 +0000 (21:40 +0200)
commit3e5897dc374e6a464b74099c57e22be30bca4024
tree58dcdf549b424795b4bfc8020b62daabf8601e30
parent20478eeb0284e91f8963cad09ca1013cf70d0a1a
ACPI: video: Fix acpi_video_handles_brightness_key_presses()

Commit 6a8ce0063b84 ("ACPI: video: Change how we determine if brightness
key-presses are handled") made acpi_video_handles_brightness_key_presses()
report false when none of the ACPI Video Devices support backlight control.

But it turns out that at least on a Dell Inspiron N4010 there is no ACPI
backlight control, yet brightness hotkeys are still reported through
the ACPI Video Bus; and since acpi_video_handles_brightness_key_presses()
now returns false, brightness keypresses are now reported twice.

To fix this rename the has_backlight flag to may_report_brightness_keys and
also set it the first time a brightness key press event is received.

Depending on the delivery of the other ACPI (WMI) event vs the ACPI Video
Bus event this means that the first brightness key press might still get
reported twice, but all further keypresses will be filtered as before.

Note that this relies on other drivers reporting brightness key events
calling acpi_video_handles_brightness_key_presses() when delivering
the events (rather then once during driver probe). This is already
required and documented in include/acpi/video.h:

/*
 * Note: The value returned by acpi_video_handles_brightness_key_presses()
 * may change over time and should not be cached.
 */

Fixes: 6a8ce0063b84 ("ACPI: video: Change how we determine if brightness key-presses are handled")
Link: https://lore.kernel.org/regressions/CALF=6jEe5G8+r1Wo0vvz4GjNQQhdkLT5p8uCHn6ZXhg4nsOWow@mail.gmail.com/
Reported-and-tested-by: Ben Greening <bgreening@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/20220713211101.85547-2-hdegoede@redhat.com
drivers/acpi/acpi_video.c