lkml.org 
[lkml]   [2015]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.19 082/101] Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions"
    Date
    3.19-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>

    commit f82daee49c09cf6a99c28303d93438a2566e5552 upstream.

    Commit 84c91b7ae07c (PM / hibernate: avoid unsafe pages in e820 reserved
    regions) is reported to make resume from hibernation on Lenovo x230
    unreliable, so revert it.

    We will revisit the issue the commit in question was supposed to fix
    in the future.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=96111
    Reported-by: rhn <kebuac.rhn@porcupinefactory.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    kernel/power/snapshot.c | 21 +--------------------
    1 file changed, 1 insertion(+), 20 deletions(-)

    --- a/kernel/power/snapshot.c
    +++ b/kernel/power/snapshot.c
    @@ -955,25 +955,6 @@ static void mark_nosave_pages(struct mem
    }
    }

    -static bool is_nosave_page(unsigned long pfn)
    -{
    - struct nosave_region *region;
    -
    - list_for_each_entry(region, &nosave_regions, list) {
    - if (pfn >= region->start_pfn && pfn < region->end_pfn) {
    - pr_err("PM: %#010llx in e820 nosave region: "
    - "[mem %#010llx-%#010llx]\n",
    - (unsigned long long) pfn << PAGE_SHIFT,
    - (unsigned long long) region->start_pfn << PAGE_SHIFT,
    - ((unsigned long long) region->end_pfn << PAGE_SHIFT)
    - - 1);
    - return true;
    - }
    - }
    -
    - return false;
    -}
    -
    /**
    * create_basic_memory_bitmaps - create bitmaps needed for marking page
    * frames that should not be saved and free page frames. The pointers
    @@ -2039,7 +2020,7 @@ static int mark_unsafe_pages(struct memo
    do {
    pfn = memory_bm_next_pfn(bm);
    if (likely(pfn != BM_END_OF_MAP)) {
    - if (likely(pfn_valid(pfn)) && !is_nosave_page(pfn))
    + if (likely(pfn_valid(pfn)))
    swsusp_set_page_free(pfn_to_page(pfn));
    else
    return -EFAULT;



    \
     
     \ /
      Last update: 2015-04-17 16:01    [W:3.013 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site