Re: [linux-pm] [RFC][PATCH] PM: Introduce new top level suspend and hibernation callbacks (rev. 2)

From: Oliver Neukum
Date: Tue Mar 25 2008 - 09:15:27 EST


Am Dienstag, 25. MÃrz 2008 14:06:15 schrieb Rafael J. Wysocki:
> On Tuesday, 25 of March 2008, Oliver Neukum wrote:
> > Am Freitag, 21. MÃrz 2008 01:21:03 schrieb Johannes Berg:
> > > > + * All of the above callbacks, except for @complete(), return error codes.
> > > > + * However, the error codes returned by the resume operations, @resume(),
> > > > + * @thaw(), and @restore(), are only printed in the system logs, since the PM
> > > > + * core cannot do anything else about them.
> > >
> > > Why bother and not just make them return void, the error printing can
> > > most likely be done much much better in the callback since that possibly
> > > has information on why it failed.
> >
> > A device that cannot wake up is unusable. Shouldn't the pm core disconnect()
> > such a device?
>
> Well, if ->resume() returns an error, the driver already knows there's a
> problem and it can act upon that, at least in principle.

Then why return an error? If a driver returns an error I would assume that
to indicate an irrecoverable error.

> However, the PM core probably shouldn't try to resume the children of a failing
> device. Also, if ->resume_noirq() fails, it probably is not a good idea to
> call ->resume() and ->complete() for the same device and for it's children.

Exactly. But we need to define what happens in these cases. If we simply
ignore the errors, the drivers must be able to deal with IO to half suspended
devices.

Regards
Oliver


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/