ARM: SAMSUNG: fix suspend/resume on if some GPIO banks not present
authorPinkava J <Jiri.Pinkava@vscht.cz>
Sun, 23 May 2010 04:42:26 +0000 (06:42 +0200)
committerBen Dooks <ben-linux@fluff.org>
Sun, 23 May 2010 15:26:04 +0000 (16:26 +0100)
When saving GPIOs during suspend/resume we need skip missing GPIO banks, not
trying get corresponding chip again and again in infinite loop.

Signed-off-by: Jiri Pinkava <jiri.pinkava@vscht.cz>
[ben-linux@fluff.org: shorten subject]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
arch/arm/plat-samsung/pm-gpio.c

index d50ab9d..7df03f8 100644 (file)
@@ -331,8 +331,10 @@ void s3c_pm_save_gpios(void)
 
        for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) {
                ourchip = s3c_gpiolib_getchip(gpio_nr);
-               if (!ourchip)
+               if (!ourchip) {
+                       gpio_nr++;
                        continue;
+               }
 
                s3c_pm_save_gpio(ourchip);
 
@@ -369,8 +371,10 @@ void s3c_pm_restore_gpios(void)
 
        for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) {
                ourchip = s3c_gpiolib_getchip(gpio_nr);
-               if (!ourchip)
+               if (!ourchip) {
+                       gpio_nr++;
                        continue;
+               }
 
                s3c_pm_resume_gpio(ourchip);