diff options
Diffstat (limited to 'arch/arm/mach-pxa/am300epd.c')
| -rw-r--r-- | arch/arm/mach-pxa/am300epd.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/arm/mach-pxa/am300epd.c b/arch/arm/mach-pxa/am300epd.c index 993d75e66390..fa8bad235d9f 100644 --- a/arch/arm/mach-pxa/am300epd.c +++ b/arch/arm/mach-pxa/am300epd.c | |||
| @@ -125,10 +125,7 @@ static int am300_init_gpio_regs(struct broadsheetfb_par *par) | |||
| 125 | if (err) { | 125 | if (err) { |
| 126 | dev_err(&am300_device->dev, "failed requesting " | 126 | dev_err(&am300_device->dev, "failed requesting " |
| 127 | "gpio %d, err=%d\n", i, err); | 127 | "gpio %d, err=%d\n", i, err); |
| 128 | while (i >= DB0_GPIO_PIN) | 128 | goto err_req_gpio2; |
| 129 | gpio_free(i--); | ||
| 130 | i = ARRAY_SIZE(gpios) - 1; | ||
| 131 | goto err_req_gpio; | ||
| 132 | } | 129 | } |
| 133 | } | 130 | } |
| 134 | 131 | ||
| @@ -159,9 +156,13 @@ static int am300_init_gpio_regs(struct broadsheetfb_par *par) | |||
| 159 | 156 | ||
| 160 | return 0; | 157 | return 0; |
| 161 | 158 | ||
| 159 | err_req_gpio2: | ||
| 160 | while (--i >= DB0_GPIO_PIN) | ||
| 161 | gpio_free(i); | ||
| 162 | i = ARRAY_SIZE(gpios); | ||
| 162 | err_req_gpio: | 163 | err_req_gpio: |
| 163 | while (i > 0) | 164 | while (--i >= 0) |
| 164 | gpio_free(gpios[i--]); | 165 | gpio_free(gpios[i]); |
| 165 | 166 | ||
| 166 | return err; | 167 | return err; |
| 167 | } | 168 | } |
