[schedule_timeout update 1] Re: Compile failure on 2.1.127

Andrea Arcangeli (andrea@e-mind.com)
Sun, 8 Nov 1998 02:24:54 +0100 (CET)


On Sat, 7 Nov 1998, Eric Buddington wrote:

>I get the following error trying to compile 2.1.127 on my system
>(K6, 2.0.34, 2.7.2.3). Since this looks like a shallow problem (part of
>the jiffies change?), I won't include .config
>
>----------------------------------------------------------
>gcc -D__KERNEL__ -I/src/linux/linux-2.1.127/include -Wall
>-Wstrict-prototypes -O2 -fomit-frame-pointer -D__SMP__ -pipe
>-fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2
>-malign-functions=2 -DCPU=686 -c -o fdc-io.o fdc-io.c
>fdc-io.c: In function `fdc_interrupt_wait':
>fdc-io.c:392: parse error before `long'
>fdc-io.c:404: `timeout' undeclared (first use this function)
>fdc-io.c:404: (Each undeclared identifier is reported only once
>fdc-io.c:404: for each function it appears in.)
>make[5]: *** [fdc-io.o] Error 1
>-----------------------------------------------------------

This should fix the problem (even if it' s a bit late and I drunk a lot
of beer this night ;->):

Index: linux/drivers/char/ftape/lowlevel/fdc-io.c
diff -u linux/drivers/char/ftape/lowlevel/fdc-io.c:1.1.1.1 linux/drivers/char/ftape/lowlevel/fdc-io.c:1.1.1.1.14.1
--- linux/drivers/char/ftape/lowlevel/fdc-io.c:1.1.1.1 Fri Oct 2 19:23:17 1998
+++ linux/drivers/char/ftape/lowlevel/fdc-io.c Sun Nov 8 02:22:06 1998
@@ -388,6 +388,7 @@
struct wait_queue wait = {current, NULL};
sigset_t old_sigmask;
static int resetting = 0;
+ long timeout = (1000 * time + FT_USPT - 1) / FT_USPT;
TRACE_FUN(ft_t_fdc_dma);

#if LINUX_VERSION_CODE >= KERNEL_VER(2,0,16)
@@ -400,7 +401,6 @@
}
#endif
/* timeout time will be up to USPT microseconds too long ! */
- current->timeout = jiffies + (1000 * time + FT_USPT - 1) / FT_USPT;
current->state = TASK_INTERRUPTIBLE;

spin_lock_irq(&current->sigmask_lock);
@@ -411,7 +411,7 @@

add_wait_queue(&ftape_wait_intr, &wait);
while (!ft_interrupt_seen && current->state != TASK_RUNNING) {
- schedule(); /* sets TASK_RUNNING on timeout */
+ timeout = schedule_timeout(timeout); /* sets TASK_RUNNING on timeout */
}

spin_lock_irq(&current->sigmask_lock);
@@ -433,7 +433,6 @@
*/
current->state = TASK_RUNNING;
if (ft_interrupt_seen) { /* woken up by interrupt */
- current->timeout = 0; /* interrupt hasn't cleared this */
ft_interrupt_seen = 0;
TRACE_EXIT 0;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/