From: Roel Kluin Date: Wed, 3 Feb 2010 19:19:00 +0000 (+0100) Subject: MX1/MX2: -EINVAL overwritten in second iteration in mxc_gpio_setup_multiple_pins() X-Git-Tag: v2.6.34-rc2~66^2~5^2^2~23 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=5c17ef878fa25e04b1e8f1d8f5fa8b267753472c MX1/MX2: -EINVAL overwritten in second iteration in mxc_gpio_setup_multiple_pins() Due to the `ret = gpio_request()' below in the loop, the initial -EINVAL value of ret is overwritten. Signed-off-by: Roel Kluin Acked-by: Uwe Kleine-König Signed-off-by: Sascha Hauer --- diff --git a/arch/arm/plat-mxc/iomux-mx1-mx2.c b/arch/arm/plat-mxc/iomux-mx1-mx2.c index a37163ce280b..25023ac2f53b 100644 --- a/arch/arm/plat-mxc/iomux-mx1-mx2.c +++ b/arch/arm/plat-mxc/iomux-mx1-mx2.c @@ -116,14 +116,16 @@ int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, int i; unsigned gpio; unsigned mode; - int ret = -EINVAL; + int ret; for (i = 0; i < count; i++) { gpio = *p & (GPIO_PIN_MASK | GPIO_PORT_MASK); mode = *p & ~(GPIO_PIN_MASK | GPIO_PORT_MASK); - if (gpio >= (GPIO_PORT_MAX + 1) * 32) + if (gpio >= (GPIO_PORT_MAX + 1) * 32) { + ret = -EINVAL; goto setup_error; + } ret = gpio_request(gpio, label); if (ret)