1. 17 5月, 2007 1 次提交
    • L
      Fix ACPI suspend / device suspend ordering problem · 52ade9b3
      Linus Torvalds 提交于
      In commit e3c7db62 we fixed the resume
      ordering, so that the ACPI low-level resume code was called before the
      actual driver resume was called. However, that broke the nesting logic
      of suspend and resume, and we continued to suspend the devices _after_
      we the ACPI device suspend code was called.
      
      That resulted in us saving PCI state for devices that had already been
      changed by ACPI, and in some cases disabled entirely (causing the PCI
      save_state to be all-ones).  Which in turn caused the wrong state to be
      written back on resume.
      
      This moves the ACPI device suspend to after the device model per-device
      suspend() calls. This fixes the bogus state save.
      
      Thanks to Lukáš Hejtmánek for testing.
      Acked-by: NLukas Hejtmanek <xhejtman@ics.muni.cz>
      Acked-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      52ade9b3
  2. 16 5月, 2007 39 次提交