提交 2502e5a0 编写于 作者: D Damien Thébault 提交者: Andy Shevchenko

platform/x86: dell-laptop: Fix backlight detection

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: 549b4930 ("dell-smbios: Introduce dispatcher for SMM calls")
Signed-off-by: NDamien Thébault <damien@dtbo.net>
Tested-by: NDamien Thébault <damien@dtbo.net>
Reviewed-by: NPali Rohár <pali.rohar@gmail.com>
Reviewed-by: NMario Limonciello <mario.limonciello@dell.com>
Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
上级 9d3cce1e
......@@ -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];
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册