On Mon, 14 May 2007, Oliver Neukum wrote:

> Am Montag, 14. Mai 2007 16:16 schrieb Alan Stern:
> > > Well, we have again a distinction between device and interface
> > > persistance. Some drivers and therefore interfaces will be unable
> > > to support persistance. It must be possible to resurrect only some
> > > interfaces of a device.
> > 
> > In other words, it must be possible for a driver's post_reset() method 
> > to fail.  That's a separate email thread.
> 
> Worse. A driver may _lack_ a post_reset() method.

In which case its resume() method gets called, in lieu of anything better.  
Drivers like that are in trouble whenever their device gets reset, whether
it is related to hibernation or not.

> > Maybe so, but you're putting a burden on both the core and the user.  The
> > core would have to check, when resuming a hub, whether _any_ of the hub's
> > descendants want to be persistent.  It can be done but it's messy.  And
> > then the user has to decide, for every device that gets attached, whether
> > or not it should be persistent.
> 
> It is the same tree logic used to decide whether a hub can be suspended.
> I suggest solving it the same way. This feature _is_ dangerous.

It will be simpler to add a "persist" attribute for non-hub devices and 
always assume it is enabled for hubs.  I don't think there's any downside 
to making hubs persistent.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to