From: Pavel Machek If too much memory is free, swsusp dies in quite a ugly way. Even when it is not neccessary to relocate pagedir, it is proably still neccessary to relocate individual pages. Thanks to Kurt Garloff and Stefan Seyfried. Signed-off-by: Andrew Morton --- 25-akpm/kernel/power/swsusp.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN kernel/power/swsusp.c~swsusp-kill-crash-when-too-much-memory-is-free kernel/power/swsusp.c --- 25/kernel/power/swsusp.c~swsusp-kill-crash-when-too-much-memory-is-free Thu Sep 9 15:46:23 2004 +++ 25-akpm/kernel/power/swsusp.c Thu Sep 9 15:46:23 2004 @@ -949,9 +949,9 @@ static int __init swsusp_pagedir_relocat printk("Relocating pagedir "); - if(!does_collide_order(old_pagedir, (unsigned long)old_pagedir, pagedir_order)) { + if (!does_collide_order(old_pagedir, (unsigned long)old_pagedir, pagedir_order)) { printk("not necessary\n"); - return 0; + return check_pagedir(); } while ((m = (void *) __get_free_pages(GFP_ATOMIC, pagedir_order)) != NULL) { _