On Fri, 7 Oct 2005, Alan Stern wrote:
> On Fri, 7 Oct 2005, Olav Kongas wrote: > > > The last reply from Ivan, given below, shows that his chip > > is reset during suspend to mem. The resume fails as the > > isp116x-hcd's resume() method has currently no support to > > handle the reset chip. > > > > I went thru the docs in kernel's Documentation/power/ and > > understood that for supporting suspend to mem, the driver's > > resume method must be prepared to initialize the hardware > > from scratch. > > That's right. One would hope that during suspend-to-RAM, there would be > power available to maintain devices like the isp116x in a suspended state. > Nevertheless, some systems don't provide such power and the devices get > reset. > > Perhaps the platform code for this particular system can be tweaked so > that suspend power _is_ provided? > > > Have I understood it right? If yes then the solution would > > be to add the necessary state saving and restoring support > > to isp116x-hcd. A quicker, temporary solution may be to > > unload isp116x-hcd before suspend and reload it after > > resume. The latter may not work for mounted memory sticks, > > however. > > Saving and restoring the state won't work for mounted storage devices > either, because you will not know whether the device was unplugged while > the controller was reset. You will have to assume that it was, and report > a connect-change event on each connected port. Indeed, there's no point to try remember the state. > > I go look how other usb HCD's handle this. > > That's what uhci-hcd does. The resume procedure checks the state of the > controller, to see if it is still suspended. If it isn't, the controller > gets completely reset and the old state is lost. Thanks a lot, Alan. I'll implement a similar scheme. Olav ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel