On Friday 21 April 2006 6:00 am, rasmit.ranjan@xxxxxxxxx wrote: > Hi all, > I have a PCMCIA multi functional card hosting a usb and a serial > port. > The device tree for the usb is as follows: > > /sys/bus/pcmcia/devices/1-1/hcd/usb5/5-0:1.0/............... > > 1-1 represents usb functionality of my PCMCIA card connected to socket > no1. Similarlly my serial port will be listed as 1-0. > > Now when I suspend 1-1 without suspening any down stream devices, it > allows me to do. I mean, the content of the .../power/state file is > changed to 3. The PM framework doesn't pay attention to the power hierarchy except during system suspend state transitions. This seems more buglike than anything else, but it's not yet been fixed. That is, if you write to a sysfs power/state file, nothing verifies that the child devices are already in a compatible state. (I suspect it needs to be a driver responsibility, and that's how the USB stack now expects to run.) There are some fixes lurking in the vicinity of this problem, which are as yet un-merged, but I don't know that they touch the issues you saw. > Which means my usb_generic_suspend is not getting called > otherwise it would have failed. Also PCMCIA client driver is notified of > this suspend. I did not find any noticeable changes by suspending 1-1. > > Then how this suspend is handled ? As the content of the power state > file is changed, means power management is marking the node(1-1) as > suspended. Then which function does this ? Somewhere in the drivers/base/power directory; trace the execution paths, you'll see it. The information in power/state sometimes gets munched without the assent of the driver which allegedly controls it. Again, this seems more buglike than anything else, especially since (as I recall things) most code paths through the PM core do the right thing and leave drivers in control of the suspend state they report. (Modulo recent bug additions ... I understand a patch changed things there again, adding policy about what values are legal. That likely causes trouble for drivers.) - Dave