Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd6bf774 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Darren Hart (VMware)
Browse files

platform/x86: fujitsu-laptop: Don't oops when FUJ02E3 is not presnt



My Fujitsu-Siemens Lifebook S6120 doesn't have the FUJ02E3 device,
but it does have FUJ02B1. That means we do register the backlight
device (and it even seems to work), but the code will oops as soon
as we try to set the backlight brightness because it's trying to
call call_fext_func() with a NULL device. Let's just skip those
function calls when the FUJ02E3 device is not present.

Cc: Jonathan Woithe <jwoithe@just42.net>
Cc: Andy Shevchenko <andy@infradead.org>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Cc: <stable@vger.kernel.org> # 4.13.x
Signed-off-by: default avatarDarren Hart (VMware) <dvhart@infradead.org>
parent 7b11e898
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -254,10 +254,12 @@ static int bl_update_status(struct backlight_device *b)
{
{
	struct acpi_device *device = bl_get_data(b);
	struct acpi_device *device = bl_get_data(b);


	if (fext) {
		if (b->props.power == FB_BLANK_POWERDOWN)
		if (b->props.power == FB_BLANK_POWERDOWN)
			call_fext_func(fext, FUNC_BACKLIGHT, 0x1, 0x4, 0x3);
			call_fext_func(fext, FUNC_BACKLIGHT, 0x1, 0x4, 0x3);
		else
		else
			call_fext_func(fext, FUNC_BACKLIGHT, 0x1, 0x4, 0x0);
			call_fext_func(fext, FUNC_BACKLIGHT, 0x1, 0x4, 0x0);
	}


	return set_lcd_level(device, b->props.brightness);
	return set_lcd_level(device, b->props.brightness);
}
}