Re: 2.6.25-mm1: suspend-to-disk warning, resume failure

Rafael J. Wysocki
2008-04-18T20:14:13Z

On Friday, 18 of April 2008, Rafael J. Wysocki wrote:
> On Friday, 18 of April 2008, Alan Stern wrote:
> > On Thu, 17 Apr 2008, Andrew Morton wrote:
> >
> > > But this:
> > >
> > > <cold boot>
> > > <suspend-to-ram>
> > > <resume-from-ram>
> > > <suspend-to-disk>
> > > <resume-from-disk>
> > >
> > > hangs at the end of resume-from-disk.
> > >
> > >
> > > During the suspend-to-disk I saw:
> > >
> > > ipw2200: Radio Frequency Kill Switch is On:
> > > Kill switch must be turned off for wireless networking to work.
> > > PM: Device usb1 failed to (unknown PM event): error -113
> > > PM: Device usb2 failed to (unknown PM event): error -113
> > > PM: Device usb3 failed to (unknown PM event): error -113
> > > PM: Device usb4 failed to (unknown PM event): error -113
> >
> > These -113 errors can be ignored. They are fallout from the recent
> > conversion of the driver core's suspend/resume API. Matching changes
> > have not yet been added to the USB core.
> >
> > The "(unknown PM event)" strings look like a bug, though.
>
> Yes, it does.
>
> I'm trying to figure this out.

This particular problem should be fixed by the appended patch.

Andrew, can you please check if you see "recover" instead of
"(unknown PM event)" in those messages with the patch applied?

Thanks,
Rafael

---
From: Rafael J. Wysocki <rjw@sisk.pl>

If PMSG_RECOVER is passed to it, the pm_verb() function will return
a pointer to "(unknown PM event)", which is wrong. Fix that.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
drivers/base/power/main.c | 2 ++
1 file changed, 2 insertions(+)

Index: linux-2.6/drivers/base/power/main.c
===================================================================
--- linux-2.6.orig/drivers/base/power/main.c
+++ linux-2.6/drivers/base/power/main.c
@@ -259,6 +259,8 @@ static char *pm_verb(int event)
return "thaw";
case PM_EVENT_RESTORE:
return "restore";
+ case PM_EVENT_RECOVER:
+ return "recover";
default:
return "(unknown PM event)";
}