Skip to contentSkip to conversation

platform-drivers: x86: Fix off-by-one valid offset range checking

PATCH Superseded Axel Lin 2 participants 2 messages Apr 15, 2014 x86 platform drivers

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/1 platform-drivers: x86: Fix off-by-one valid offset range checking

Only pin 0-7 support input, so the valid offset range should be 0 ~ 7.

---
 drivers/platform/x86/intel_pmic_gpio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/platform/x86/intel_pmic_gpio.c +1 -1
index 2805988..281cfcb 100644
@@ -91,7 +91,7 @@ static void pmic_program_irqtype(int gpio, int type)
 
 static int pmic_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
 {
-	if (offset > 8) {
+	if (offset >= 8) {
 		pr_err("only pin 0-7 support input\n");
 		return -1;/* we only have 8 GPIO can use as input */
 	}
Signature · 1 line
1.8.3.2
#1 lore raw

Hmmm, my bad.

There is another place need fix as well.

static int pmic_gpio_get(struct gpio_chip *chip, unsigned offset)

{
        u8 r;
        int ret;

        /* we only have 8 GPIO pins we can use as input */
        if (offset > 8)
                return -EOPNOTSUPP;

Could you help to include this fix as well ?

Thanks,
Alek
-----Original Message-----
From: Axel Lin [mailto:[email protected]]
Sent: Tuesday, April 15, 2014 9:08 AM
To: Matthew Garrett
Cc: Du, Alek; [email protected]
Subject: [PATCH] platform-drivers: x86: Fix off-by-one valid offset range checking

Only pin 0-7 support input, so the valid offset range should be 0 ~ 7.

---
 drivers/platform/x86/intel_pmic_gpio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/platform/x86/intel_pmic_gpio.c +1 -2
index 2805988..281cfcb 100644
@@ -91,7 +91,7 @@ static void pmic_program_irqtype(int gpio, int type)
 
 static int pmic_gpio_direction_input(struct gpio_chip *chip, unsigned offset)  {
-	if (offset > 8) {
+	if (offset >= 8) {
 		pr_err("only pin 0-7 support input\n");
 		return -1;/* we only have 8 GPIO can use as input */
 	}
--

1.8.3.2