Re: [PATCH v2 2/5] usb: musb: call musb_port_suspend from musb_bus_suspend

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

 



On 10/02/2013 01:14 PM, Daniel Mack wrote:
> On 02.10.2013 12:49, Sebastian Andrzej Siewior wrote:
>> * Daniel Mack | 2013-10-01 15:39:54 [+0200]:
>>
>>> Make musb_port_suspend() externally available, and call it when to host
>>> goes into suspend. This allows the core to go into suspend while a
>>> device is connected.
>>
>> Sorry for asking this stupid question but what is usally happening when
>> the host goes to suspend and a device is connected? I think it is
>> disconnected & re-enumerated and resume and this not what you want,
>> right?
> 
> It is usually put into USB suspend and the host preserves its state.
> After resume, the usb storage driver, for example, will not register new
> partitions but expect things to be as they were before. That is, your
> previously mounted devices remain functional.
> 
> However, the enumeration process has to be done again, because when the
> device looses power, it can't memorize its address.
> 
>> What happens if the device is unplugged while the host is suspended and
>> not there on resume?
> 
> That condition is detected and a full teardown of the connected drivers
> is conducted. Try what happens on your notebook when you do that.
> Embedded systems should behave just the same.

I had the feeling that the USB device gets disconnected and
re-enumerated on resume. But if you say that the ehci-hcd saves the
state and keeps the device connected if it wasn't disconnected during
suspend then there is no reason for musb to behave differently.

> Daniel

Sebastian
--
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