Skip to contentSkip to conversation

PATCH 2.5.2.6: fix up serial, sysrq

PATCH Jeff Garzik 1 participant 1 message Jan 1, 2002

lore
Share & tools
lore
#0 lore raw

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.

Signature · 3 lines
Jeff Garzik      | Only so many songs can be sung
Building 1024    | with two lips, two lungs, and one tongue.
MandrakeSoft     |         - nomeansno
char/serial.c +1 -1
diff -u -r1.4 serial.c
@@ -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);
 }
 
 /*
char/sysrq.c +2 -2
diff -u -r1.2 sysrq.c
@@ -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();