From: Rafael J. Wysocki Date: Fri, 12 Apr 2013 13:58:17 +0000 (+0000) Subject: PCI/PM: Fix fallback to PCI_D0 in pci_platform_power_transition() X-Git-Tag: omap-for-v3.10/dt-fixes-for-merge-window~143^2~1^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=769ba7212f2059ca9fe0c73371e3d415c8c1c529;p=pandora-kernel.git PCI/PM: Fix fallback to PCI_D0 in pci_platform_power_transition() Commit b51306c (PCI: Set device power state to PCI_D0 for device without native PM support) modified pci_platform_power_transition() by adding code causing dev->current_state for devices that don't support native PCI PM but are power-manageable by the platform to be changed to PCI_D0 regardless of the value returned by the preceding platform_pci_set_power_state(). In particular, that also is done if the platform_pci_set_power_state() has been successful, which causes the correct power state of the device set by pci_update_current_state() in that case to be overwritten by PCI_D0. Fix that mistake by making the fallback to PCI_D0 only happen if the platform_pci_set_power_state() has returned an error. [bhelgaas: folded in Yinghai's simplification, added URL & stable info] Reference: http://lkml.kernel.org/r/27806FC4E5928A408B78E88BBC67A2306F466BBA@ORSMSX101.amr.corp.intel.com Reported-by: Chris J. Benenati Signed-off-by: Rafael J. Wysocki Signed-off-by: Bjorn Helgaas Acked-by: Yinghai Lu Cc: # v3.2+ --- Reading git-diff-tree failed