[coreboot-gerrit] Patch set updated for coreboot: intel/apollolake: Fix check for return value of pmc_gpe_route_to_gpio

Furquan Shaikh (furquan@google.com) gerrit at coreboot.org
Wed Aug 17 04:27:47 CEST 2016


Furquan Shaikh (furquan at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16218

-gerrit

commit 1a328af477c2a8ac63ee497a8a9b79a732eba677
Author: Furquan Shaikh <furquan at google.com>
Date:   Sun Aug 14 21:50:50 2016 -0700

    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.
    
    Change-Id: I5ec824949d4ee0fbdbb2ffdc9fc9d4762455b27b
    Reported-by: Coverity ID 1357443, 1357442, 1357441
    Signed-off-by: Furquan Shaikh <furquan at google.com>
---
 src/soc/intel/apollolake/gpio.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/soc/intel/apollolake/gpio.c b/src/soc/intel/apollolake/gpio.c
index ac72203..8b89dfd 100644
--- a/src/soc/intel/apollolake/gpio.c
+++ b/src/soc/intel/apollolake/gpio.c
@@ -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;



More information about the coreboot-gerrit mailing list