Comment 14 for bug 197064

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Guys,

I'm just including the upstream git commit id and description that Simon pointed out for the kernel team to reference.

However, please note that while the symptom of this bug (failure to Hibernate) is the same, it is specific to the hardware used. So for future reference it would be helpful to the development teams if you would open a new bug report against your specific set of hardware. We can easily mark bugs as duplicates later on. Thanks.

commit 3a2d5b700132f35401f1d9e22fe3c2cab02c2549
Author: Rafael J. Wysocki <email address hidden>
Date: Sat Feb 23 19:13:25 2008 +0100

    PM: Introduce PM_EVENT_HIBERNATE callback state

    During the last step of hibernation in the "platform" mode (with the
    help of ACPI) we use the suspend code, including the devices'
    ->suspend() methods, to prepare the system for entering the ACPI S4
    system sleep state.

    But at least for some devices the operations performed by the
    ->suspend() callback in that case must be different from its operations
    during regular suspend.

    For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and
    pass it to the device drivers' ->suspend() methods during the last phase
    of hibernation, so that they can distinguish this case and handle it as
    appropriate. Modify the drivers that handle PM_EVENT_SUSPEND in a
    special way and need to handle PM_EVENT_HIBERNATE in the same way.

    These changes are necessary to fix a hibernation regression related
    to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).

    Signed-off-by: Rafael J. Wysocki <email address hidden>
    Acked-by: Pavel Machek <email address hidden>
    Tested-by: Jeff Chua <email address hidden>
    Signed-off-by: Linus Torvalds <email address hidden>