summaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-ep93xx.c
diff options
context:
space:
mode:
authorColin Ian King <colin.king@canonical.com>2018-09-06 14:58:30 +0300
committerLinus Walleij <linus.walleij@linaro.org>2018-09-10 09:48:24 +0300
commitf40f73075c59b0d847eadbada9ec5c0d0142b107 (patch)
treee6c5e27b1f1c055be8d9aeaa58f990bb4c5c5bd6 /drivers/gpio/gpio-ep93xx.c
parent02ad0437decf2e5dba975c23b1a89775f4b211e1 (diff)
downloadlinux-f40f73075c59b0d847eadbada9ec5c0d0142b107.tar.xz
gpio: ep93xx: fix incorrect array element size check
Currently the while loop checks for the end of the array using the size of egp->gc rather that the number of elements in the array, so fix this. Also, perform the array size check first as stylistically it is always good to bounds check on an array first before referencing the array (in this case, we're just computing the address of an element in an array so this is a moot point). Fixes: fd935fc421e7 ("gpio: ep93xx: Do not pingpong irq numbers") Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-ep93xx.c')
-rw-r--r--drivers/gpio/gpio-ep93xx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c
index 68a416fc3141..dd22ea19c3ed 100644
--- a/drivers/gpio/gpio-ep93xx.c
+++ b/drivers/gpio/gpio-ep93xx.c
@@ -76,7 +76,7 @@ static int ep93xx_gpio_port(struct gpio_chip *gc)
struct ep93xx_gpio *epg = gpiochip_get_data(gc);
int port = 0;
- while (gc != &epg->gc[port] && port < sizeof(epg->gc))
+ while (port < ARRAY_SIZE(epg->gc) && gc != &epg->gc[port])
port++;
/* This should not happen but is there as a last safeguard */