Bug 738144 - RHEL6.2 kernel-2.6.32-182.el6: System hangs while entering hibernation
Summary: RHEL6.2 kernel-2.6.32-182.el6: System hangs while entering hibernation
Keywords:
Status: CLOSED DUPLICATE of bug 731546
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.2
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: beta
: ---
Assignee: Red Hat Kernel Manager
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks: 688945 739343
TreeView+ depends on / blocked
 
Reported: 2011-09-14 06:36 UTC by Arindam Nath
Modified: 2011-09-19 09:31 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 739343 (view as bug list)
Environment:
Last Closed: 2011-09-19 09:31:04 UTC


Attachments (Terms of Use)
rhel6_fix_system_cannot_enter_hibernation (1.15 KB, application/octet-stream)
2011-09-14 06:36 UTC, Arindam Nath
no flags Details

Description Arindam Nath 2011-09-14 06:36:55 UTC
Created attachment 523060 [details]
rhel6_fix_system_cannot_enter_hibernation

Description of problem:
While trying to enter hibernation (S4), system hangs.

Version-Release number of selected component (if applicable):
kernel-2.6.32-182.el6

How reproducible:
Always

Steps to Reproduce:
1. Default install RHEL6.
2. Install kernel rpm kernel-2.6.32-182.el6.x86_64.rpm
3. Boot into the new kernel.
4. Issue the command "pm-hibernate" to enter S4.
  
Actual results:
System hangs before entering hibernation.

Expected results:
System should be able to enter hibernation and be able to resume back without any issues.

Additional info:
Using the default kernel-2.6.32-71.el6 of RHEL6.0, the system enters and resumes fine from hibernation. The issue only occurs with updated kernel-2.6.32-182.el6.

Comment 1 Arindam Nath 2011-09-14 06:39:24 UTC
Excerpt from the patch --

This patch fixes the issue when the system hangs while entering
hibernation.

The issue occurs when system tries to save NVS memory region(s).
During system boot, acpi_os_map_memory() marks the pages belonging
to the NVS regions as _PAGE_CACHE_WB, but during hibernation, the
pages are checked against _PAGE_CACHE_UC_MINUS, which in turn makes
ioremap() return a NULL pointer. This results in kernel panic when
system accesses this NULL pointer, and the system hangs.

The solution is to make sure we mark the pages correctly during
OS boot. So we use ioremap() instead of ioremap_cache() to set
the memory type field appropriately.

Comment 3 Stanislaw Gruszka 2011-09-19 09:31:04 UTC

*** This bug has been marked as a duplicate of bug 731546 ***


Note You need to log in before you can comment on or make changes to this bug.