UPSTREAM: intel/apollolake: Fix check for return value of pmc_gpe_route_to_gpio

pmc_gpe_route_to_gpio returns -1 on error. However, the value was being
stored in unsigned int and compared against -1. Fix this by using local
variable ret.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/16218
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

Change-Id: I5ec824949d4ee0fbdbb2ffdc9fc9d4762455b27b
Reviewed-on: https://chromium-review.googlesource.com/373021
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Furquan Shaikh 2016-08-14 21:50:50 -07:00 committed by chrome-bot
commit 97dc19b66c

View file

@ -361,6 +361,7 @@ void gpio_route_gpe(uint8_t gpe0b, uint8_t gpe0c, uint8_t gpe0d)
uint32_t misccfg_mask;
uint32_t misccfg_value;
uint32_t value;
int ret;
/* Get the group here for community specific MISCCFG register.
* If any of these returns -1 then there is some error in devicetree
@ -368,15 +369,20 @@ void gpio_route_gpe(uint8_t gpe0b, uint8_t gpe0c, uint8_t gpe0d)
* PMC group defines. So we return from here and MISCFG is set to
* default.
*/
gpe0b = pmc_gpe_route_to_gpio(gpe0b);
if(gpe0b == -1)
ret = pmc_gpe_route_to_gpio(gpe0b);
if (ret == -1)
return;
gpe0c = pmc_gpe_route_to_gpio(gpe0c);
if(gpe0c == -1)
gpe0b = ret;
ret = pmc_gpe_route_to_gpio(gpe0c);
if (ret == -1)
return;
gpe0d = pmc_gpe_route_to_gpio(gpe0d);
if(gpe0d == -1)
gpe0c = ret;
ret = pmc_gpe_route_to_gpio(gpe0d);
if (ret == -1)
return;
gpe0d = ret;
misccfg_value = gpe0b << MISCCFG_GPE0_DW0_SHIFT;
misccfg_value |= gpe0c << MISCCFG_GPE0_DW1_SHIFT;