lkml.org 
[lkml]   [2011]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] ARM: pxa: fix suspend on PXA3XX
From
Date
On Thu, 2011-01-27 at 22:46 +0800, Eric Miao wrote:
> On Wed, Jan 26, 2011 at 4:10 PM, Sven Neumann <s.neumann@raumfeld.com> wrote:
> > On Wed, 2011-01-26 at 05:06 +0800, Eric Miao wrote:
> >> How about this instead?
> >>
> >> diff --git a/arch/arm/mach-pxa/pm.c b/arch/arm/mach-pxa/pm.c
> >> index 978e1b2..1807c9a 100644
> >> --- a/arch/arm/mach-pxa/pm.c
> >> +++ b/arch/arm/mach-pxa/pm.c
> >> @@ -33,7 +33,7 @@ int pxa_pm_enter(suspend_state_t state)
> >> #endif
> >>
> >> /* skip registers saving for standby */
> >> - if (state != PM_SUSPEND_STANDBY) {
> >> + if (state != PM_SUSPEND_STANDBY && pxa_cpu_pm_fns->save) {
> >> pxa_cpu_pm_fns->save(sleep_save);
> >> /* before sleeping, calculate and save a checksum */
> >> for (i = 0; i < pxa_cpu_pm_fns->save_count - 1; i++)
> >> @@ -44,7 +44,7 @@ int pxa_pm_enter(suspend_state_t state)
> >> pxa_cpu_pm_fns->enter(state);
> >> cpu_init();
> >>
> >> - if (state != PM_SUSPEND_STANDBY) {
> >> + if (state != PM_SUSPEND_STANDBY && pxa_cpu_pm_fns->restore) {
> >> /* after sleeping, validate the checksum */
> >> for (i = 0; i < pxa_cpu_pm_fns->save_count - 1; i++)
> >> checksum += sleep_save[i];
> >>
> >
> > Not sure if that will work as well. With this change the code is
> > skipping more than just the calls to pxa_cpu_pm_fns->save() and
> > pxa_cpu_pm_fns->restore(). In particular it doesn't call
> > pxa_cpu_pm_fns->enter(state).
> >
>
> Nah, that ->enable() is called if the checksum is incorrect. Please compare
> with the original code?

I see. Well, I've tried your patch and it seems to work as well.


Thanks,
Sven




\
 
 \ /
  Last update: 2011-01-31 14:31    [W:0.066 / U:0.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site