Make swsusp actually work

Pavel Machek
2002-04-07T23:37:44Z

Hi!

There were two bugs, and linux/mm.h one took me *very* long to
find... Well, those bits used for zone should have been marked. Plus I
hack ide_..._suspend code not to panic, and it now seems to
work. [Sorry, 2pm, have to get some sleep.]

Please apply,
Pavel

--- linux-ac.clean/drivers/ide/ide-disk.c Sun Apr 7 10:55:09 2002
+++ linux-swsusp.24/drivers/ide/ide-disk.c Mon Apr 8 01:22:06 2002
@@ -1567,7 +1567,7 @@
struct hwgroup_s *hwgroup = ide_hwifs[i].hwgroup;

if (!hwgroup) continue;
- hwgroup->handler = hwgroup->handler_save;
+ hwgroup->handler = NULL; /* hwgroup->handler_save; */
hwgroup->handler_save = NULL;
}
driver_blocked = 0;
@@ -1584,6 +1584,7 @@
if (hwgroup->handler != panic_box)
panic("Handler was not set to panic?");
hwgroup->handler_save = NULL;
+ hwgroup->handler = NULL;
}
driver_blocked = 0;
}
--- linux-ac.clean/include/linux/mm.h Sun Apr 7 10:55:12 2002
+++ linux-swsusp.24/include/linux/mm.h Mon Apr 8 01:04:06 2002
@@ -303,7 +303,9 @@
#define PG_arch_1 13
#define PG_reserved 14
#define PG_launder 15 /* written out by VM pressure.. */
-#define PG_nosave 29
+#define PG_nosave 16
+/* Don't you dare to use high bits, they seem to be used for something else! */
+

/* Make it prettier to test the above... */
#define UnlockPage(page) unlock_page(page)

--
(about SSSCA) "I don't say this lightly. However, I really think that the U.S.
no longer is classifiable as a democracy, but rather as a plutocracy." --hpa