diff options
author | hselasky <hselasky@FreeBSD.org> | 2013-05-18 07:16:20 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2013-05-18 07:16:20 +0000 |
commit | 02ed64411192c93329a587b0c5bbfb4bc8813a4c (patch) | |
tree | c258c43b468d1ae8291df7df078db28f174bd4e7 /sys/dev/sound/usb | |
parent | 967c651cd74bade845d7b05e653515a8ad197a8a (diff) | |
download | FreeBSD-src-02ed64411192c93329a587b0c5bbfb4bc8813a4c.zip FreeBSD-src-02ed64411192c93329a587b0c5bbfb4bc8813a4c.tar.gz |
Don't clear stall at first time use of USB MIDI endpoints.
Most likely some non-USB compliant devices will choke on it
sooner or later. Clear stall is strictly speaking not needed.
If the first MIDI command sent or transmitted is lost, this
is not a big problem for us.
MFC after: 1 week
Diffstat (limited to 'sys/dev/sound/usb')
-rw-r--r-- | sys/dev/sound/usb/uaudio.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index f778afa..66b09d4 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -5592,7 +5592,6 @@ umidi_open(struct usb_fifo *fifo, int fflags) } /* clear stall first */ mtx_lock(&chan->mtx); - usbd_xfer_set_stall(chan->xfer[UMIDI_TX_TRANSFER]); chan->write_open_refcount++; sub->write_open = 1; @@ -5691,9 +5690,6 @@ umidi_probe(device_t dev) mtx_lock(&chan->mtx); - /* clear stall first */ - usbd_xfer_set_stall(chan->xfer[UMIDI_RX_TRANSFER]); - /* * NOTE: At least one device will not work properly unless the * BULK IN pipe is open all the time. This might have to do @@ -5798,8 +5794,11 @@ tr_setup: break; default: /* Error */ + + DPRINTF("error=%s\n", usbd_errstr(error)); + if (error != USB_ERR_CANCELLED) { - /* try clear stall first */ + /* try to clear stall first */ usbd_xfer_set_stall(xfer); goto tr_setup; } |