Date:        Tue, 14 Nov 2000 23:46:33 +0100
   From: Jorge Nerin <[EMAIL PROTECTED]>

   Well, first saw this in test11-pre1, and now in test11-pre4 I report it
   again.

Do you use any one of USB, PCMCIA+Yenta, or ATM?  If so, please give
the following patch a try.

If not, do you use KHTTPD?  If so, please don't... it's unmaintained,
buggy, and to eventually be replaced by TUX.

--- ./drivers/sbus/char/su.c.~1~        Sat Oct 14 03:09:04 2000
+++ ./drivers/sbus/char/su.c    Tue Nov 14 23:28:09 2000
@@ -1,4 +1,4 @@
-/* $Id: su.c,v 1.42 2000/10/14 10:09:04 davem Exp $
+/* $Id: su.c,v 1.43 2000/11/15 07:28:09 davem Exp $
  * su.c: Small serial driver for keyboard/mouse interface on sparc32/PCI
  *
  * Copyright (C) 1997  Eddie C. Dost  ([EMAIL PROTECTED])
@@ -2001,6 +2001,7 @@
 #endif
                schedule();
        }
+       current->state = TASK_RUNNING;
        remove_wait_queue(&info->open_wait, &wait);
        if (extra_count)
                info->count++;
@@ -2219,7 +2220,7 @@
  */
 static __inline__ void __init show_su_version(void)
 {
-       char *revision = "$Revision: 1.42 $";
+       char *revision = "$Revision: 1.43 $";
        char *version, *p;
 
        version = strchr(revision, ' ');
--- ./drivers/sbus/char/sab82532.c.~1~  Sat Oct 14 03:09:04 2000
+++ ./drivers/sbus/char/sab82532.c      Tue Nov 14 23:28:09 2000
@@ -1,4 +1,4 @@
-/* $Id: sab82532.c,v 1.52 2000/10/14 10:09:04 davem Exp $
+/* $Id: sab82532.c,v 1.53 2000/11/15 07:28:09 davem Exp $
  * sab82532.c: ASYNC Driver for the SIEMENS SAB82532 DUSCC.
  *
  * Copyright (C) 1997  Eddie C. Dost  ([EMAIL PROTECTED])
@@ -1833,6 +1833,7 @@
 #endif
                schedule();
        }
+       current->state = TASK_RUNNING;
        remove_wait_queue(&info->open_wait, &wait);
        if (!tty_hung_up_p(filp))
                info->count++;
@@ -2133,7 +2134,7 @@
 
 static inline void __init show_serial_version(void)
 {
-       char *revision = "$Revision: 1.52 $";
+       char *revision = "$Revision: 1.53 $";
        char *version, *p;
 
        version = strchr(revision, ' ');
--- ./drivers/usb/storage/transport.c.~1~       Sun Nov 12 00:22:27 2000
+++ ./drivers/usb/storage/transport.c   Tue Nov 14 22:28:51 2000
@@ -423,6 +423,7 @@
        if (status) {
                /* something went wrong */
                up(&(us->current_urb_sem));
+               current->state = TASK_RUNNING;
                remove_wait_queue(&wqh, &wait);
                kfree(dr);
                return status;
@@ -480,6 +481,7 @@
        if (status) {
                /* something went wrong */
                up(&(us->current_urb_sem));
+               current->state = TASK_RUNNING;
                remove_wait_queue(&wqh, &wait);
                return status;
        }
--- ./drivers/usb/usb.c.~1~     Tue Nov 14 14:21:38 2000
+++ ./drivers/usb/usb.c Tue Nov 14 22:27:22 2000
@@ -951,6 +951,7 @@
        if (status) {
                // something went wrong
                usb_free_urb(urb);
+               current->state = TASK_RUNNING;
                remove_wait_queue(&wqh, &wait);
                return status;
        }
@@ -961,6 +962,7 @@
        } else
                status = 1;
 
+       current->state = TASK_RUNNING;
        remove_wait_queue(&wqh, &wait);
 
        if (!status) {
--- ./drivers/usb/net1080.c.~1~ Sun Nov 12 00:22:26 2000
+++ ./drivers/usb/net1080.c     Tue Nov 14 22:27:49 2000
@@ -653,6 +653,7 @@
                dbg ("waited for %d urb completions", temp);
        }
        dev->wait = 0;
+       current->state = TASK_RUNNING;
        remove_wait_queue (&unlink_wakeup, &wait); 
 
        mutex_unlock (&dev->mutex);
--- ./drivers/usb/usb-ohci.c.~1~        Tue Oct 31 12:58:00 2000
+++ ./drivers/usb/usb-ohci.c    Tue Nov 14 22:28:15 2000
@@ -654,6 +654,7 @@
                                set_current_state(TASK_UNINTERRUPTIBLE);
                                while (timeout && (urb->status == USB_ST_URB_PENDING))
                                        timeout = schedule_timeout (timeout);
+                               current->state = TASK_RUNNING;
                                remove_wait_queue (&unlink_wakeup, &wait); 
                                if (urb->status == USB_ST_URB_PENDING) {
                                        err ("unlink URB timeout");
@@ -765,6 +766,7 @@
                                set_current_state(TASK_UNINTERRUPTIBLE);
                                while (timeout && dev->ed_cnt)
                                        timeout = schedule_timeout (timeout);
+                               current->state = TASK_RUNNING;
                                remove_wait_queue (&freedev_wakeup, &wait);
                                if (dev->ed_cnt) {
                                        err ("free device %d timeout", 
usb_dev->devnum);
--- ./drivers/atm/atmtcp.c.~1~  Sat Jun 24 05:40:27 2000
+++ ./drivers/atm/atmtcp.c      Tue Nov 14 22:29:32 2000
@@ -77,6 +77,7 @@
                set_current_state(TASK_UNINTERRUPTIBLE);
                schedule();
        }
+       current->state = TASK_RUNNING;
        remove_wait_queue(&vcc->sleep,&wait);
        return error;
 }
--- ./drivers/pcmcia/yenta.c.~1~        Tue Nov  7 21:04:48 2000
+++ ./drivers/pcmcia/yenta.c    Tue Nov 14 22:29:54 2000
@@ -585,6 +585,7 @@
                add_wait_queue(&socket->wait, &wait);
                if (!socket->events)
                        schedule_timeout(HZ);
+               current->state = TASK_RUNNING;
                remove_wait_queue(&socket->wait, &wait);
        } while (!signal_pending(current));
        MOD_DEC_USE_COUNT;
--- ./net/atm/signaling.c.~1~   Tue Jul 11 22:52:09 2000
+++ ./net/atm/signaling.c       Tue Nov 14 22:40:26 2000
@@ -50,6 +50,7 @@
                }
                schedule();
        }
+       current->state = TASK_RUNNING;
        remove_wait_queue(&sigd_sleep,&wait);
 #else
        if (!sigd) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to