[linux-pm] Suspending usb function of PCMCIA multi-functional card

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

 



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


[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