usb/usb-midi: remove
Subsystems (2)
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.
Signed-off-by Nishanth Aravamudan <[email protected]>
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_enint 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