Hi,

this should cure the abuse of sleep_on as a delay.

        Regards
                Oliver

--- dc2xx.c.alt Sun Dec  2 01:59:11 2001
+++ dc2xx.c     Sun Dec  2 02:02:54 2001
@@ -142,9 +142,6 @@
        char                    *buf;           /* buffer for I/O */

        devfs_handle_t          devfs;          /* devfs device */
-
-       /* always valid */
-       wait_queue_head_t       wait;           /* for timed waits */
 };

 /* Support multiple cameras, possibly of different types.  */
@@ -198,7 +195,8 @@
                }
                if (retval != USB_ST_TIMEOUT)
                        break;
-               interruptible_sleep_on_timeout (&camera->wait, RETRY_TIMEOUT);
+                set_current_state(TASK_INTERRUPTIBLE);
+               schedule_timeout (RETRY_TIMEOUT);

                dbg ("read (%Zd) - retry", len);
        }
@@ -270,8 +268,8 @@
                                                bytes_written = -ETIME;
                                        goto done;
                                }
-                                interruptible_sleep_on_timeout (&camera->wait,
-                                       RETRY_TIMEOUT);
+                               set_current_state(TASK_INTERRUPTIBLE);
+                                schedule_timeout (RETRY_TIMEOUT);
                                continue;
                        }
                        if (!bytes_written)
@@ -419,8 +417,6 @@
        camera->info = camera_info;
        camera->subminor = i;
        camera->buf = NULL;
-       init_waitqueue_head (&camera->wait);
-

        /* get input and output endpoints (either order) */
        endpoint = interface->endpoint;


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

Reply via email to