uhci seemed to be able to suspend itself after all USB devices have been unplugged. However, I've recently noticed that it doesn't do that for me anymore.
I cannot really point to a specific change that caused it, because I have changed the hardware platform (newer laptop model) and kernels. However, I am sure that with my 2.4.24 kernel uhci doesn't print my beloved "suspend_hc" message except just after being started. Also, I sometimes get this: uhci.c: 1800: suspend_hc uhci.c: 1800: host controller halted. very bad uhci.c: 1800: wakeup_hc I really need the host controller to go into suspend, as this enables C3 states on my CPU, which results in a significant battery life improvement. I have been working around this by doing a rmmod uhci; modprobe uhci after removing all USB devices. This gives me a suspended uhci and my C3 states back. --J.
pgp00000.pgp
Description: PGP signature
