Date: Wed, 8 Oct 1997 23:09:39 +0200
From: Hartmut Koptein <koptein@et-inf.fho-emden.de>
To: linux-m68k@lists.linux-m68k.org
Subject: L68K: misc patch
Sender: owner-linux-m68k@phil.uni-sb.de

Hi all,

with patch-2.1.57 there was a function replacement for 
"current->signal & ~current->blocked" to "signal_pending(current)".

The second was from Roman Hodek i think. Don't know if this must always
included (drivers/char/sysrq.c).


diff -u --recursive --exclude=.depend --exclude=.version --exclude=.config* --exclude=ksyms.ver --exclude=*.o --exclude=*.orig --exclude=*.rej --exclude=.hdepend --exclude=.*.old --exclude=.*.log --exclude=.menuconfig --exclude=core --new-file lin-2.1.57/drivers/char/m68kserial.c linux-2.1.57/drivers/char/m68kserial.c
--- lin-2.1.57/drivers/char/m68kserial.c	Mon Oct  6 17:58:50 1997
+++ linux-2.1.57/drivers/char/m68kserial.c	Sat Oct  4 20:52:00 1997
@@ -787,11 +787,11 @@
 			if (retval)
 				return retval;
 			tty_wait_until_sent(tty, 0);
-			if (current->signal & ~current->blocked)
+			if (signal_pending(current))
 				return -EINTR;
 			if (!arg) {
 				send_break(info, HZ/4);	/* 1/4 second */
-				if (current->signal & ~current->blocked)
+				if (signal_pending(current))
 					return -EINTR;
 			}
 			return 0;
@@ -800,10 +800,10 @@
 			if (retval)
 				return retval;
 			tty_wait_until_sent(tty, 0);
-			if (current->signal & ~current->blocked)
+			if (signal_pending(current))
 				return -EINTR;
 			send_break(info, arg ? arg*(HZ/10) : HZ/4);
-			if (current->signal & ~current->blocked)
+			if (signal_pending(current))
 				return -EINTR;
 			return 0;
 		case TIOCGSOFTCAR:
@@ -867,7 +867,7 @@
 			while (1) {
 				interruptible_sleep_on(&info->delta_msr_wait);
 				/* see if a signal did it */
-				if (current->signal & ~current->blocked)
+				if (signal_pending(current))
 					return -ERESTARTSYS;
 				save_flags(flags);
 				cli();
@@ -1028,7 +1028,7 @@
 			current->state = TASK_INTERRUPTIBLE;
 			current->timeout = jiffies + info->timeout;
 			schedule();
-			if (current->signal & ~current->blocked)
+			if (signal_pending(current))
 				break;
 			if (jiffies > timeout)
 				break;
@@ -1189,7 +1189,7 @@
 		    !(info->flags & ASYNC_CLOSING) &&
 		    (do_clocal || (info->sw->get_modem_info( info ) & TIOCM_CAR)))
 			break;
-		if (current->signal & ~current->blocked) {
+		if (signal_pending(current)) {
 			retval = -ERESTARTSYS;
 			break;
 		}
diff -u --recursive --exclude=.depend --exclude=.version --exclude=.config* --exclude=ksyms.ver --exclude=*.o --exclude=*.orig --exclude=*.rej --exclude=.hdepend --exclude=.*.old --exclude=.*.log --exclude=.menuconfig --exclude=core --new-file lin-2.1.57/drivers/char/sysrq.c linux-2.1.57/drivers/char/sysrq.c
--- lin-2.1.57/drivers/char/sysrq.c	Mon Oct  6 17:57:45 1997
+++ linux-2.1.57/drivers/char/sysrq.c	Sat Oct  4 20:52:19 1997
@@ -17,8 +17,8 @@
 #include <linux/kdev_t.h>
 #include <linux/major.h>
 #include <linux/reboot.h>
-#include <linux/sysrq.h>
 #include <linux/kbd_kern.h>
+#include <linux/sysrq.h>
 #include <asm/ptrace.h>
 #include <asm/smp_lock.h>
 #include <asm/keyboard.h>
@@ -155,7 +155,8 @@
 	struct file *file;
 
 	for (file = inuse_filps; file; file = file->f_next)
-		if (file->f_dentry && file->f_count && S_ISREG(file->f_dentry->d_inode->i_mode))
+		if (file->f_dentry && file->f_dentry->d_inode &&
+		    file->f_count && S_ISREG(file->f_dentry->d_inode->i_mode))
 			file->f_mode &= ~2;
 }
 

Bye,

   Hartmut

-- 
 Hartmut Koptein                                       EMail:
 Friedrich-van-Senden-Str. 7                           koptein@et-inf.fho-emden.de
 26603 Aurich   
 Tel.: +49-4941-10390                                  koptein@debian.org
