Am Montag, 21. Januar 2008 13:53:38 schrieb Pandita, Vikram:
> Hi Oliver
> 
> >Sent: Monday, January 21, 2008 6:18 PM
> >> I have a general query on EHCI manual suspend/resume behavior.
> >>
> >> For EHCI HCD, On doing a manual suspend of a device using sysfs 
> >> power/level, what happens of the
> >already submitted URBs?
> >>
> >> are the URBs completed with whatever data has been sent? Or
> >> URB context is maintained and are restarted on a RESUME?
> >
> >The driver's suspend() method is called. It has to deal with outstanding
> >URBs, either waiting briefly for them or canceling them. Likewise a driver
> >is responsible for resubmitting URBs upon resume().
> >
> >This behavior is independent of the HCD used.
> 
> For the case where struct hc_driver ehci_hc_driver.bus_suspend = 
> ehci_bus_suspend() (mine is an EHCI hcd)
> 
> I can see that ehci_bus_suspend() just halts the EHCI hcd, without deleting 
> the qh or qtds? Is that right? And ehci_bus_resume() again starts the EHCI 
> enabling the qhs.
> 
> Does that mean if nothing is done to URBs in Class driver suspend function, 
> the old URBs should continue to work on RESUME? 

The bus will not be suspend unless all devices on the bus are suspended. While
all devices on the bus are suspend no URBs can be in flight.
In theory IIRC halting EHCI should have the effect you describe, but it should
never happen.

        Regards
                Oliver
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to