Re: pci_set_power_state() failure and breaking suspend
From: Stefan Richter <stefanr@s5r6.in-berlin.de>
Date: 2006-10-24 08:13:45
Also in:
lkml
Benjamin Herrenschmidt wrote:
quoted
Recently, ohci1394 grew some "proper" error handling in its suspend function, something that looks like: err = pci_set_power_state(pdev, pci_choose_state(pdev, state)); if (err) goto out;
...
First, it breaks some old PowerBooks where the internal OHCI has no PM feature exposed on PCI....
Just out of curiosity: Are these HCs actual PCI hardware or are they glued onto an extra PCI interface? Does the startup message of ohci1394 log OHCI 1.1 or 1.0 compliance for them? Probably the latter; OHCI 1.1 was released in January 2000. OHCI 1.1 says "PCI based 1394 Open Host Controllers /should/ implement PCI Power Management, and implementations that support PCI Power Management /shall/ exhibit behavior consistent with this Annex." (Emphasis mine.) I.e. a compliant HC does either not support power management at all or supports it including the pci_set_power_state() triggered state transitions. OHCI 1.00 does not have a power management specification. It points to the PCI Local Bus Specification Revision 2.1 though (which I don't have). We are still working on full power management support by ohci1394 and upper IEEE 1394 layers, so I am glad to get feedback and patches. -- Stefan Richter -=====-=-==- =-=- ==--- http://arcgraph.de/sr/