linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [FIXED][PATCH] dell-laptop: Fix backlight detection
@ 2018-07-18 10:06 Damien Thébault
  2018-07-18 10:23 ` Andy Shevchenko
  0 siblings, 1 reply; 2+ messages in thread
From: Damien Thébault @ 2018-07-18 10:06 UTC (permalink / raw)
  To: Darren Hart
  Cc: Matthew Garrett, Pali Rohár, Andy Shevchenko,
	Mario Limonciello, platform-driver-x86, linux-kernel

Fix return code check for "max brightness" ACPI call.

The dell laptop ACPI video brightness control is not present on dell
laptops anymore, but was present in older kernel versions.

The code that checks the return value is incorrect since the SMM
refactoring.

The old code was:
  if (buffer->output[0] == 0)

Which was changed to:
  ret = dell_send_request(...)
  if (ret)

However, dell_send_request() will return 0 if buffer->output[0] == 0,
so we must change the check to:
  if (ret == 0)

This issue was found on a Dell M4800 laptop, and the fix tested on it
as well.

Fixes: 549b4930f057 ("dell-smbios: Introduce dispatcher for SMM calls")
Signed-off-by: Damien Thébault <damien@dtbo.net>
Tested-by: Damien Thébault <damien@dtbo.net>
Reviewed-by: Pali Rohár <pali.rohar@gmail.com>
Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
---
 drivers/platform/x86/dell-laptop.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
index f1fa8612db40..06978c14c83b 100644
--- a/drivers/platform/x86/dell-laptop.c
+++ b/drivers/platform/x86/dell-laptop.c
@@ -2185,7 +2185,7 @@ static int __init dell_init(void)
 		dell_fill_request(&buffer, token->location, 0, 0, 0);
 		ret = dell_send_request(&buffer,
 					CLASS_TOKEN_READ, SELECT_TOKEN_AC);
-		if (ret)
+		if (ret == 0)
 			max_intensity = buffer.output[3];
 	}
 
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [FIXED][PATCH] dell-laptop: Fix backlight detection
  2018-07-18 10:06 [FIXED][PATCH] dell-laptop: Fix backlight detection Damien Thébault
@ 2018-07-18 10:23 ` Andy Shevchenko
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Shevchenko @ 2018-07-18 10:23 UTC (permalink / raw)
  To: Damien Thébault
  Cc: Darren Hart, Matthew Garrett, Pali Rohár, Andy Shevchenko,
	Mario Limonciello, Platform Driver, Linux Kernel Mailing List

On Wed, Jul 18, 2018 at 1:06 PM, Damien Thébault <damien@dtbo.net> wrote:
> Fix return code check for "max brightness" ACPI call.
>
> The dell laptop ACPI video brightness control is not present on dell
> laptops anymore, but was present in older kernel versions.
>
> The code that checks the return value is incorrect since the SMM
> refactoring.
>
> The old code was:
>   if (buffer->output[0] == 0)
>
> Which was changed to:
>   ret = dell_send_request(...)
>   if (ret)
>
> However, dell_send_request() will return 0 if buffer->output[0] == 0,
> so we must change the check to:
>   if (ret == 0)
>
> This issue was found on a Dell M4800 laptop, and the fix tested on it
> as well.
>

I have pushed this to my review and testing queue, thanks!

But I'm going to push this to Linus this week since it's definitely
stable material.

> Fixes: 549b4930f057 ("dell-smbios: Introduce dispatcher for SMM calls")
> Signed-off-by: Damien Thébault <damien@dtbo.net>
> Tested-by: Damien Thébault <damien@dtbo.net>
> Reviewed-by: Pali Rohár <pali.rohar@gmail.com>
> Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
> ---
>  drivers/platform/x86/dell-laptop.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> index f1fa8612db40..06978c14c83b 100644
> --- a/drivers/platform/x86/dell-laptop.c
> +++ b/drivers/platform/x86/dell-laptop.c
> @@ -2185,7 +2185,7 @@ static int __init dell_init(void)
>                 dell_fill_request(&buffer, token->location, 0, 0, 0);
>                 ret = dell_send_request(&buffer,
>                                         CLASS_TOKEN_READ, SELECT_TOKEN_AC);
> -               if (ret)
> +               if (ret == 0)
>                         max_intensity = buffer.output[3];
>         }
>
> --
> 2.18.0
>



-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-07-18 10:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-18 10:06 [FIXED][PATCH] dell-laptop: Fix backlight detection Damien Thébault
2018-07-18 10:23 ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).