On Tue, 14 Nov 2023, Stuart Hayhurst wrote: > max_brightness is used in ideapad_kbd_bl_brightness_get() before it's set, > causing ideapad_kbd_bl_brightness_get() to return -EINVAL sometimes > > Fixes: ecaa1867b524 ("platform/x86: ideapad-laptop: Add support for keyboard backlights using KBLC ACPI symbol") > Signed-off-by: Stuart Hayhurst <stuart.a.hayhurst@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > --- > > Sorry if I messed up the stable cc bit, I have no idea how that process works It looks fine now, thank you (except for the . missing at the end of the sentence but I can fix that when I'll later apply the patch). Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> -- i. > v1 -> v2: > - Fix commit message > - Add missing tags > > --- > drivers/platform/x86/ideapad-laptop.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c > index ac037540acfc..88eefccb6ed2 100644 > --- a/drivers/platform/x86/ideapad-laptop.c > +++ b/drivers/platform/x86/ideapad-laptop.c > @@ -1425,18 +1425,17 @@ static int ideapad_kbd_bl_init(struct ideapad_private *priv) > if (WARN_ON(priv->kbd_bl.initialized)) > return -EEXIST; > > - brightness = ideapad_kbd_bl_brightness_get(priv); > - if (brightness < 0) > - return brightness; > - > - priv->kbd_bl.last_brightness = brightness; > - > if (ideapad_kbd_bl_check_tristate(priv->kbd_bl.type)) { > priv->kbd_bl.led.max_brightness = 2; > } else { > priv->kbd_bl.led.max_brightness = 1; > } > > + brightness = ideapad_kbd_bl_brightness_get(priv); > + if (brightness < 0) > + return brightness; > + > + priv->kbd_bl.last_brightness = brightness; > priv->kbd_bl.led.name = "platform::" LED_FUNCTION_KBD_BACKLIGHT; > priv->kbd_bl.led.brightness_get = ideapad_kbd_bl_led_cdev_brightness_get; > priv->kbd_bl.led.brightness_set_blocking = ideapad_kbd_bl_led_cdev_brightness_set; >