Hello Pavel Machek: This patch can fix, That if run suspend without swaping device/file will Oops. --- linux-2.5.42/kernel/suspend.c Sat Oct 12 21:25:06 2002 +++ linux-2.5.42-suspend/kernel/suspend.c Sat Oct 12 21:28:03 2002 @@ -309,6 +309,9 @@ union diskpage *cur; struct page *page; + if (root_swap == 0xFFFF) /* ignored */ + return; + page = alloc_page(GFP_ATOMIC); if (!page) panic("Out of memory in mark_swapfiles"); @@ -686,6 +689,7 @@ if(nr_free_pages() < nr_needed_pages) { printk(KERN_CRIT "%sCouldn't get enough free pages, on %d pages short\n", name_suspend, nr_needed_pages-nr_free_pages()); + root_swap = 0xFFFF; spin_unlock_irq(&suspend_pagedir_lock); return 1; } @@ -843,8 +847,10 @@ PRINTK("Syncing disks before copy\n"); do_suspend_sync(); + PRINTK("Doing drivers_suspend\n"); /* Save state of all device drivers, and stop them. */ if(drivers_suspend()==0) + PRINTK("Doing do_magic(0)\n"); /* If stopping device drivers worked, we proceed basically into * suspend_save_image. * -- - Hu Gang