Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: pci_set_power_state() failure and breaking suspend | Date | Tue, 24 Oct 2006 14:00:04 +0200 |
| |
On Tuesday, 24 October 2006 08:54, Benjamin Herrenschmidt wrote: > So I noticed a small regression that I think might uncover a deeper > issue... > > 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 had PM > feature exposed on PCI (the pmac specific code that follows those lines > is enough on those machines). > > That can easily be fixed by removing the if (err) goto out; statement > and having the pmac code set err to 0 in certain conditions, and I'll be > happy to submit a patch for this. > > However, this raises the question of do we actually want to prevent > machines to suspend when they have a PCI device that don't have the PCI > PM capability ? I'm asking that because I can easily imagine that sort > of construct growing into more drivers (sounds logical if you don't > think) and I can even imagine somebody thinking it's a good idea to slap > a __must_check on pci_set_power_state() ...
As far as the suspend to RAM is concerned, I don't know.
For the suspend to disk we can ignore the error if we know that the device in question won't do anything like a DMA transfer into memory while we're creating the suspend image.
Greetings, Rafael
-- You never change things by fighting the existing reality. R. Buckminster Fuller - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |