Hi,

Here's a patch against 2.4.13-pre5 that converts the usages of
current->state in the USB code to set_current_state().  The patch is by
Arnaldo Carvalho de Melo.

thanks,

greg k-h
(temporary USB maintainer)




diff --minimal -Nru a/drivers/usb/hiddev.c b/drivers/usb/hiddev.c
--- a/drivers/usb/hiddev.c      Fri Oct 19 16:11:08 2001
+++ b/drivers/usb/hiddev.c      Fri Oct 19 16:11:08 2001
@@ -264,7 +264,7 @@
        if (list->head == list->tail) {
 
                add_wait_queue(&list->hiddev->wait, &wait);
-               current->state = TASK_INTERRUPTIBLE;
+               set_current_state(TASK_INTERRUPTIBLE);
 
                while (list->head == list->tail) {
 
@@ -284,7 +284,7 @@
                        schedule();
                }
 
-               current->state = TASK_RUNNING;
+               set_current_state(TASK_RUNNING);
                remove_wait_queue(&list->hiddev->wait, &wait);
        }
 
diff --minimal -Nru a/drivers/usb/kaweth.c b/drivers/usb/kaweth.c
--- a/drivers/usb/kaweth.c      Fri Oct 19 16:11:08 2001
+++ b/drivers/usb/kaweth.c      Fri Oct 19 16:11:08 2001
@@ -969,14 +969,14 @@
         init_waitqueue_head(&awd.wqh);
         awd.done = 0;
         
-        current->state = TASK_INTERRUPTIBLE;
+        set_current_state(TASK_INTERRUPTIBLE);
         add_wait_queue(&awd.wqh, &wait);
         urb->context = &awd;
         status = usb_submit_urb(urb);
         if (status) {
                 // something went wrong
                 usb_free_urb(urb);
-                current->state = TASK_RUNNING;
+                set_current_state(TASK_RUNNING);
                 remove_wait_queue(&awd.wqh, &wait);
                 return status;
         }
@@ -984,7 +984,7 @@
        while (timeout && !awd.done)
                timeout = schedule_timeout(timeout);
 
-        current->state = TASK_RUNNING;
+        set_current_state(TASK_RUNNING);
         remove_wait_queue(&awd.wqh, &wait);
 
         if (!timeout) {
diff --minimal -Nru a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
--- a/drivers/usb/serial/ftdi_sio.c     Fri Oct 19 16:11:08 2001
+++ b/drivers/usb/serial/ftdi_sio.c     Fri Oct 19 16:11:08 2001
@@ -454,7 +454,7 @@
                while (port->write_urb->status == -EINPROGRESS) {
                        dbg(__FUNCTION__ " write in progress - retrying");
                        if (signal_pending(current)) {
-                               current->state = TASK_RUNNING;
+                               set_current_state(TASK_RUNNING);
                                remove_wait_queue(&port->write_wait, &wait);
                                rc = -ERESTARTSYS;
                                goto err;
diff --minimal -Nru a/drivers/usb/usb-ohci.c b/drivers/usb/usb-ohci.c
--- a/drivers/usb/usb-ohci.c    Fri Oct 19 16:11:07 2001
+++ b/drivers/usb/usb-ohci.c    Fri Oct 19 16:11:07 2001
@@ -779,7 +779,7 @@
                                set_current_state(TASK_UNINTERRUPTIBLE);
                                while (timeout && (urb->status == USB_ST_URB_PENDING))
                                        timeout = schedule_timeout (timeout);
-                               current->state = TASK_RUNNING;
+                               set_current_state(TASK_RUNNING);
                                remove_wait_queue (&unlink_wakeup, &wait); 
                                if (urb->status == USB_ST_URB_PENDING) {
                                        err ("unlink URB timeout");
@@ -884,7 +884,7 @@
                                set_current_state(TASK_UNINTERRUPTIBLE);
                                while (timeout && dev->ed_cnt)
                                        timeout = schedule_timeout (timeout);
-                               current->state = TASK_RUNNING;
+                               set_current_state(TASK_RUNNING);
                                remove_wait_queue (&freedev_wakeup, &wait);
                                if (dev->ed_cnt) {
                                        err ("free device %d timeout", 
usb_dev->devnum);
diff --minimal -Nru a/drivers/usb/usbnet.c b/drivers/usb/usbnet.c
--- a/drivers/usb/usbnet.c      Fri Oct 19 16:11:09 2001
+++ b/drivers/usb/usbnet.c      Fri Oct 19 16:11:09 2001
@@ -1056,7 +1056,7 @@
        while (skb_queue_len (&dev->rxq)
                        && skb_queue_len (&dev->txq)
                        && skb_queue_len (&dev->done)) {
-               current->state = TASK_UNINTERRUPTIBLE;
+               set_current_state(TASK_UNINTERRUPTIBLE);
                schedule_timeout (UNLINK_TIMEOUT_JIFFIES);
                dbg ("waited for %d urb completions", temp);
        }
diff --minimal -Nru a/drivers/usb/uss720.c b/drivers/usb/uss720.c
--- a/drivers/usb/uss720.c      Fri Oct 19 16:11:08 2001
+++ b/drivers/usb/uss720.c      Fri Oct 19 16:11:08 2001
@@ -159,7 +159,7 @@
                                if (time_after_eq (jiffies, expire))
                                        /* The FIFO is stuck. */
                                        return -EBUSY;
-                               current->state = TASK_INTERRUPTIBLE;
+                               set_current_state(TASK_INTERRUPTIBLE);
                                schedule_timeout((HZ + 99) / 100);
                                if (signal_pending (current))
                                        break;

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to