[PATCH linux-3.1.y] ideapad: Check if acpi already handle backlight power to avoid a page fault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: René Bollford <xsecute@xxxxxxxxxxxxxx>
Date: Sun, 23 Oct 2011 09:56:42 +0200

commit d4afc7754a60b885b63ef23fd194984e2d53a4e6 upstream.

This patch avoid a page fault in the ideapad-laptop extras when
turning the backlight power on or off.

Signed-off-by: Rene Bolldorf <xsecute@xxxxxxxxxxxxxx>
Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>
Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx>
Tested-by: Artem X <artem.brz@xxxxxxxxx>
---
Artem X wrote:

> I've compiled vanilla 3.1.6 with that patch and turning off blacklight
> was working.

This fixes an oops reported by a few people in the new ideapad-laptop
backlight driver.  See:

 - http://thread.gmane.org/gmane.linux.kernel/1205259
 - http://thread.gmane.org/gmane.linux.drivers.platform.x86.devel/2405
 - http://bugs.debian.org/655377

Luckily the ideapad-laptop backlight driver was introduced in
v3.1-rc1~14^2~29, so older kernels do not have this bug.  Fix is
already included in v3.2.

 drivers/platform/x86/ideapad-laptop.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
index 0c595410e788..0d94eec00f4d 100644
--- a/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c
@@ -493,6 +493,8 @@ static void ideapad_backlight_notify_power(struct ideapad_private *priv)
 	unsigned long power;
 	struct backlight_device *blightdev = priv->blightdev;
 
+	if (!blightdev)
+		return;
 	if (read_ec_data(ideapad_handle, 0x18, &power))
 		return;
 	blightdev->props.power = power ? FB_BLANK_UNBLANK : FB_BLANK_POWERDOWN;
-- 
1.7.8.3

--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux