Re: [PATCH 4.13 103/110] platform/x86: fujitsu-laptop: Dont oops when FUJ02E3 is not presnt

From: Jonathan Woithe
Date: Tue Oct 03 2017 - 18:10:46 EST


On Tue, Oct 03, 2017 at 02:30:05PM +0200, Greg Kroah-Hartman wrote:
> 4.13-stable review patch. If anyone has any objections, please let me know.

As per my earlier suggestion, I'm more than happy for this to go to stable
since it fixes a regression.

Reviewed-by: Jonathan Woithe <jwoithe@xxxxxxxxxx>

> ------------------
>
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
>
> commit ce7c47d60bda6c7f09ccf16e978d971c8fa16ff0 upstream.
>
> 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@xxxxxxxxxx>
> Cc: Andy Shevchenko <andy@xxxxxxxxxxxxx>
> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> Signed-off-by: Darren Hart (VMware) <dvhart@xxxxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> ---
> drivers/platform/x86/fujitsu-laptop.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> --- a/drivers/platform/x86/fujitsu-laptop.c
> +++ b/drivers/platform/x86/fujitsu-laptop.c
> @@ -254,10 +254,12 @@ static int bl_update_status(struct backl
> {
> 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);
> }
>