[linux-pm] Problem in HCD resume

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

 



Hi,
	I was trying suspend/resume of OHCI based host controller. I
suspend the device interface, device/port and the roothub interface/bus
selectively through sysfs.
According to Power Management sub-system if I resume the roothub
interface the all the downsteam devices( device/port and device
interface) should be resumed. That means power state file of
roothub,port/device,device interface should be 0. But power state of the
port/device remains 3. 
	I tried finding out the reasons. I went through the kernel code.
What I found out is, resuming any node is initiated through
usb_generic_device API. In that API first we change the
dev->power.power_state.event = PM_EVENT_ON which is the notification to
PM sub-system that now the device is not in suspended state, it is on
now and the power state file of the node is changed to 0. When I traced
the path for my case i.e. resuming the bus.
Here it goes:

Usb_generic_resume-->hub_resume-->hcd_bus_resume-->ohci_bus_resume-->fin
ish_device_resume.

Actually finish_device_resume is called from hub_resume and the
parameter passed to finish_device_resume is the usb_device structure
representing the device connected. Then for all the interfaces of the
device finish_device_resume calls usb_generic_resume.
So it is clear that expect the device all other node`s resume is
initiated from usb_generic_resume and this is the only API which does
dev->power.power_state.event = PM_EVENT_ON. As for device resume this is
not done, its power state remains 3 although the device is actually
resumed. 

Is my understanding correct? If yes then is it a known issue ? I am
using kernel 2.6.15.4.
So is ther any patch available for this?

Please suggest.

Thanks,
Rasmit.
    



[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux