Update of /cvsroot/alsa/alsa-kernel/usb
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1776/alsa-kernel/usb

Modified Files:
        usbmidi.c 
Log Message:
prevent twenty-seconds wait when unplugging USB MIDI device with a port subscription

Index: usbmidi.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbmidi.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- usbmidi.c   3 Mar 2004 11:35:15 -0000       1.24
+++ usbmidi.c   8 Mar 2004 09:34:05 -0000       1.25
@@ -453,8 +453,16 @@
        usbmidi_out_port_t* port = 
(usbmidi_out_port_t*)substream->runtime->private_data;
 
        port->active = up;
-       if (up)
+       if (up) {
+               if (port->ep->umidi->chip->shutdown) {
+                       /* gobble up remaining bytes to prevent wait in
+                        * snd_rawmidi_drain_output */
+                       while (!snd_rawmidi_transmit_empty(substream))
+                               snd_rawmidi_transmit_ack(substream, 1);
+                       return;
+               }
                tasklet_hi_schedule(&port->ep->tasklet);
+       }
 }
 
 static int snd_usbmidi_input_open(snd_rawmidi_substream_t* substream)



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to