diff options
| author | Pinkava J <Jiri.Pinkava@vscht.cz> | 2010-05-23 00:42:26 -0400 |
|---|---|---|
| committer | Ben Dooks <ben-linux@fluff.org> | 2010-05-23 11:26:04 -0400 |
| commit | 91dc74e479e1ea0bb8864694303e6fe5612b707c (patch) | |
| tree | 55a08b31f1c11c306dbd42936989342751c76535 | |
| parent | fda225774ed0f3742eb2337680e5221dfa49dad8 (diff) | |
ARM: SAMSUNG: fix suspend/resume on if some GPIO banks not present
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>
| -rw-r--r-- | arch/arm/plat-samsung/pm-gpio.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/plat-samsung/pm-gpio.c b/arch/arm/plat-samsung/pm-gpio.c index d50ab9d2af53..7df03f87fbfa 100644 --- a/arch/arm/plat-samsung/pm-gpio.c +++ b/arch/arm/plat-samsung/pm-gpio.c | |||
| @@ -331,8 +331,10 @@ void s3c_pm_save_gpios(void) | |||
| 331 | 331 | ||
| 332 | for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) { | 332 | for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) { |
| 333 | ourchip = s3c_gpiolib_getchip(gpio_nr); | 333 | ourchip = s3c_gpiolib_getchip(gpio_nr); |
| 334 | if (!ourchip) | 334 | if (!ourchip) { |
| 335 | gpio_nr++; | ||
| 335 | continue; | 336 | continue; |
| 337 | } | ||
| 336 | 338 | ||
| 337 | s3c_pm_save_gpio(ourchip); | 339 | s3c_pm_save_gpio(ourchip); |
| 338 | 340 | ||
| @@ -369,8 +371,10 @@ void s3c_pm_restore_gpios(void) | |||
| 369 | 371 | ||
| 370 | for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) { | 372 | for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) { |
| 371 | ourchip = s3c_gpiolib_getchip(gpio_nr); | 373 | ourchip = s3c_gpiolib_getchip(gpio_nr); |
| 372 | if (!ourchip) | 374 | if (!ourchip) { |
| 375 | gpio_nr++; | ||
| 373 | continue; | 376 | continue; |
| 377 | } | ||
| 374 | 378 | ||
| 375 | s3c_pm_resume_gpio(ourchip); | 379 | s3c_pm_resume_gpio(ourchip); |
| 376 | 380 | ||
