Re: USB suspend/resume sequence

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Oliver,


On Wed, Aug 14, 2013 at 2:19 PM, Oliver Neukum <oneukum@xxxxxxx> wrote:

Thanks for you response.

> On Wed, 2013-08-14 at 13:24 +0530, Vivek Gautam wrote:
>> Hi all,
>>
>>
>> Going through the power suspend/resume sequence of USB, got hit by a doubt.
>>
>> I am not able to figure out how the USB core driver takes care of
>
> It doesn't.
>
>> devices and root-hubs across suspend/resume. Are the device contexts
>> saved somewhere and then restored back on resume ?
>
> Usually not. The state of interfaces are the responsibility of interface
> drivers (colloquially called device drivers). Most devices just don't
> offer an API for saving state. The drivers recreate as opposed to
> restore the state.

How does then PERSIST_ENABLED option work then ? With this option enabled,
on a system resume, the USB device attached to the root-hub are not
re-enumerated, right ?
Possibly i am getting confused here.
How would a usb_suspend_interface() and usb_suspend_device() differ.

>
>> How does the suspend/resume sequence taken care by "drivers/usb/core/.." ?
>
> The generic driver core guarantees that suspend()/resume() are called
> in the right sequence.
>
>> One more question here:
>> If a hub on USB bus is getting re-enumerated, is it really necessary
>> that its child devices shall also be re-enumerated ? Is there someway
>
> Yes.
>
>> out in which we can save the child-devices' context pointers and then
>> once hub has been re-enumerated back, we restore back them.
>
> How do you know they are identical?

Is it that, from the interface only the device information is extracted ?
Can't we catch hold of usb_device pointers of hub and child devices ?

>
>         HTH
>                 Oliver
>
>



-- 
Best Regards
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux