PATCH 2.5.2.6: fix up serial, sysrq

Jeff Garzik
2002-01-01T23:37:11Z

[-- Attachment #1: Type: text/plain, Size: 432 bytes --]

The kdev_none change might not be correct, please check. It's the place
in sysrq where the code immediately above syncs local disks, and then
syncs non-local disks. The better change might be to simply remove the
second check altogether, instead of changing it as I have done.
--
Jeff Garzik | Only so many songs can be sung
Building 1024 | with two lips, two lungs, and one tongue.
MandrakeSoft | - nomeansno

[-- Attachment #2: char.patch --]
[-- Type: text/plain, Size: 934 bytes --]

diff -u -r1.4 serial.c
--- drivers/char/serial.c 2002/01/01 22:41:09 1.4
+++ drivers/char/serial.c 2002/01/01 23:19:45
@@ -5827,7 +5827,7 @@

static kdev_t serial_console_device(struct console *c)
{
- return MKDEV(TTY_MAJOR, 64 + c->index);
+ return mk_kdev(TTY_MAJOR, 64 + c->index);
}

/*
diff -u -r1.2 sysrq.c
--- drivers/char/sysrq.c 2001/12/11 04:04:49 1.2
+++ drivers/char/sysrq.c 2002/01/01 23:19:45
@@ -105,7 +105,7 @@
/* Guesses if the device is a local hard drive */
static int is_local_disk(kdev_t dev) {
unsigned int major;
- major = MAJOR(dev);
+ major = major(dev);

switch (major) {
case IDE0_MAJOR:
@@ -206,7 +206,7 @@
for (sb = sb_entry(super_blocks.next);
sb != sb_entry(&super_blocks);
sb = sb_entry(sb->s_list.next))
- if (!is_local_disk(sb->s_dev) && MAJOR(sb->s_dev))
+ if (!is_local_disk(sb->s_dev) && !kdev_none(sb->s_dev))
go_sync(sb, remount_flag);

unlock_kernel();