Skip to contentSkip to conversation

usb/usb-midi: remove

PATCH In review Nishanth Aravamudan 1 participant 1 message Feb 2, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 8/20 usb/usb-midi: remove

Hello,

Description: Replace direct wait-queue usage with wait_event_timeout(). Removed some local variables which help determine loop time, but which are now compressed into the wait_event_timeout() macro. Patch is compile-tested.

drivers/usb/class/usb-midi.c +4 -14
@@ -37,6 +37,7 @@
 #include <linux/poll.h>
 #include <linux/sound.h>
 #include <linux/init.h>
+#include <linux/wait.h>
 #include <asm/semaphore.h>
 
 #include "usb-midi.h"
@@ -317,9 +318,7 @@ static int usb_write( struct midi_out_en
 	int pipe;
 	int ret = 0;
 	int status;
-	int maxretry = 50;
 	
-	DECLARE_WAITQUEUE(wait,current);
 	init_waitqueue_head(&ep->wait);
 
 	d = ep->usbdev;
@@ -335,19 +334,10 @@ static int usb_write( struct midi_out_en
 		goto error;
 	}
 
-	add_wait_queue( &ep->wait, &wait );
-	set_current_state( TASK_INTERRUPTIBLE );
-
-	while( ep->urb->status == -EINPROGRESS ) {
-		if ( maxretry-- < 0 ) {
-			printk(KERN_ERR "usbmidi: usb_bulk_msg timed out\n");
-			ret = -ETIME;
-			break;
-		}
-		interruptible_sleep_on_timeout( &ep->wait, 10 );
+	if (!wait_event_timeout(ep->wait, (ep->urb->status != -EINPROGRESS), 500)) {
+		printk(KERN_ERR "usbmidi: usb_bulk_msg timed out\n");
+		ret = -ETIME;
 	}
-	set_current_state( TASK_RUNNING );
-	remove_wait_queue( &ep->wait, &wait );
 
 error:
 	return ret;

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors