From d878bdfba8ffda64265c921cf7497934a607f83a Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Mon, 30 Mar 2020 13:26:50 +0300 Subject: [PATCH] platform/x86: surface3_power: Fix always true condition in mshw0011_space_handler() smatch warnings: .../surface3_power.c:417 mshw0011_space_handler() warn: always true condition '(ret >= 0) => +(0-u32max >= 0)' Refactor error handling returned by mshw0011_adp_psr() to avoid always true condition. Reported-by: kbuild test robot Signed-off-by: Andy Shevchenko --- drivers/platform/x86/surface3_power.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/platform/x86/surface3_power.c b/drivers/platform/x86/surface3_power.c index cf08911251f30..946ac2dc08ae7 100644 --- a/drivers/platform/x86/surface3_power.c +++ b/drivers/platform/x86/surface3_power.c @@ -402,12 +402,14 @@ mshw0011_space_handler(u32 function, acpi_physical_address command, if (gsb->cmd.arg0 == MSHW0011_CMD_DEST_ADP1 && gsb->cmd.arg1 == MSHW0011_CMD_ADP1_PSR) { - ret = mshw0011_adp_psr(cdata); - if (ret >= 0) { - status = ret; - ret = 0; + status = mshw0011_adp_psr(cdata); + if (status >= 0) { + ret = AE_OK; + goto out; + } else { + ret = AE_ERROR; + goto err; } - goto out; } if (gsb->cmd.arg0 != MSHW0011_CMD_DEST_BAT0) { -- 2.30.2