Resent-Date: Wed, 18 Nov 1998 12:06:11 +0100 (MET)
To: Chris Lawrence <quango@watervalley.net>
Cc: Linux/m68k Mailing List <linux-m68k@lists.linux-m68k.org>
Subject: Re: L68K:Problems with 2.1.227 (sic)
References: <OUT-36520586.MD-0.238.nine@uni-muenster.de> <19981117194009.C32735@localhost>
X-Yow: I want a VEGETARIAN BURRITO to go..  with EXTRA MSG!!
From: Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Date: 18 Nov 1998 12:06:06 +0100
In-Reply-To: Chris Lawrence's message of "Tue, 17 Nov 1998 19:40:09 -0600"
Resent-From: linux-m68k@phil.uni-sb.de

Chris Lawrence <quango@watervalley.net> writes:

|> If I still had my original file lying around, I'd do a diff.  Anyway
|> it's a not-too-hard manual patch.

Here is a real diff, slightly different from your version:

--- linux/drivers/char/lp_m68k.c.~1~	Wed Nov 18 10:34:39 1998
+++ linux/drivers/char/lp_m68k.c	Wed Nov 18 12:06:32 1998
@@ -183,6 +183,7 @@
   struct inode *inode = file->f_dentry->d_inode;
   unsigned long total_bytes_written = 0;
   unsigned int flags;
+  long timeout;
   int rc;
   int dev = MINOR(inode->i_rdev);
 
@@ -211,12 +212,12 @@
 	  /* something blocked printing, so we don't want to sleep too long,
 	     in case we have to rekick the interrupt */
 
-	  current->timeout = jiffies + LP_TIMEOUT_POLLED;
+	  timeout = LP_TIMEOUT_POLLED;
       } else {
-	  current->timeout = jiffies + LP_TIMEOUT_INTERRUPT;
+	  timeout = LP_TIMEOUT_INTERRUPT;
       }
   
-      interruptible_sleep_on(&lp_table[dev]->lp_wait_q);
+      interruptible_sleep_on_timeout(&lp_table[dev]->lp_wait_q, timeout);
       restore_flags(flags);
   
       /* we're up again and running. we first disable lp_interrupt(), then

Andreas.

-- 
Andreas Schwab                                      "And now for something
schwab@issan.cs.uni-dortmund.de                      completely different"
schwab@gnu.org

