Skip to content

Commit

Permalink
platform/x86: fujitsu-laptop: Don't oops when FUJ02E3 is not presnt
Browse files Browse the repository at this point in the history
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: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: <stable@vger.kernel.org> # 4.13.x
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
  • Loading branch information
Ville Syrjälä authored and Darren Hart (VMware) committed Sep 27, 2017
1 parent 2bd6bf0 commit ce7c47d
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions drivers/platform/x86/fujitsu-laptop.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,10 +254,12 @@ static int bl_update_status(struct backlight_device *b)
{
struct acpi_device *device = bl_get_data(b);

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

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

0 comments on commit ce7c47d

Please sign in to comment.