From: Pavel Machek Date: Sun, 6 Sep 2009 05:28:40 +0000 (+0200) Subject: pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume X-Git-Tag: v2.6.31.2~67 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e7f56f9d27ddb7716dcda188436ad97880ec5c9;p=thirdparty%2Fkernel%2Fstable.git pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume commit 99f329a2ba3c2d07cc90ca9309babf27ddf98bff upstream. sharpsl_pm.c code tries to read battery state very early during resume, but those battery meters are connected on SPI and that's only resumed way later. Replace the check with simple checking of battery fatal signal, that actually works at this stage. Signed-off-by: Pavel Machek Tested-by: Stanislav Brabec Signed-off-by: Eric Miao Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c index 2546c066cd6e9..629e05d1196ef 100644 --- a/arch/arm/mach-pxa/sharpsl_pm.c +++ b/arch/arm/mach-pxa/sharpsl_pm.c @@ -678,8 +678,8 @@ static int corgi_enter_suspend(unsigned long alarm_time, unsigned int alarm_enab dev_dbg(sharpsl_pm.dev, "User triggered wakeup in offline charger.\n"); } - if ((!sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_LOCK)) || (sharpsl_fatal_check() < 0) ) - { + if ((!sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_LOCK)) || + (!sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_FATAL))) { dev_err(sharpsl_pm.dev, "Fatal condition. Suspend.\n"); corgi_goto_sleep(alarm_time, alarm_enable, state); return 1;