summaryrefslogtreecommitdiffstats
path: root/abs/core/linux/3.4.4-fix-backlight-regression.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/linux/3.4.4-fix-backlight-regression.patch')
-rw-r--r--abs/core/linux/3.4.4-fix-backlight-regression.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/abs/core/linux/3.4.4-fix-backlight-regression.patch b/abs/core/linux/3.4.4-fix-backlight-regression.patch
new file mode 100644
index 0000000..a0cf0b1
--- /dev/null
+++ b/abs/core/linux/3.4.4-fix-backlight-regression.patch
@@ -0,0 +1,38 @@
+Subject: Still use ACPI backlight control if _DOS doesn't exist
+
+This is a regression introduced by commit
+ea9f8856bd6d4ed45885b06a338f7362cd6c60e5
+
+https://bugzilla.kernel.org/show_bug.cgi?id=43168
+
+Some platforms don't have _DOS control method, but the ACPI
+backlight still works.
+We do not want to lose the backlight control ability on these platforms.
+
+CC : Igor Murzov <intergalactic.anonymous@gmail.com>
+Signed-off-by: Zhang Rui <rui.zhang@intel.com>
+---
+ drivers/acpi/video.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+Index: rtd3/drivers/acpi/video.c
+===================================================================
+--- rtd3.orig/drivers/acpi/video.c
++++ rtd3/drivers/acpi/video.c
+@@ -565,8 +565,14 @@ acpi_video_bus_DOS(struct acpi_video_bus
+ video->dos_setting = arg0.integer.value;
+ status = acpi_evaluate_object(video->device->handle, "_DOS",
+ &args, NULL);
+- if (ACPI_FAILURE(status))
+- return -EIO;
++ if (ACPI_FAILURE(status)) {
++ /*
++ * some platforms don't have _DOS, but the ACPI
++ * backlight control still works
++ */
++ ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No _DOS\n"));
++ return 0;
++ }
+
+ return 0;
+ }