Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F171653015
D55902.id173891.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D55902.id173891.diff
View Options
diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c
--- a/sys/dev/sound/usb/uaudio.c
+++ b/sys/dev/sound/usb/uaudio.c
@@ -555,7 +555,6 @@
static int umidi_open(struct usb_fifo *, int);
static int umidi_ioctl(struct usb_fifo *, u_long cmd, void *, int);
static void umidi_close(struct usb_fifo *, int);
-static void umidi_init(device_t dev);
static int umidi_attach(device_t dev);
static int umidi_detach(device_t dev);
static int uaudio_hid_probe(struct uaudio_softc *sc,
@@ -1000,8 +999,6 @@
else
sc->sc_set_spdif_fn = uaudio_set_spdif_dummy;
- umidi_init(dev);
-
device_set_usb_desc(dev);
id = usbd_get_interface_descriptor(uaa->iface);
@@ -1102,6 +1099,7 @@
if (sc->sc_midi_chan.valid) {
if (umidi_attach(dev)) {
+ sc->sc_midi_chan.valid = 0;
goto detach;
}
device_printf(dev, "MIDI sequencer.\n");
@@ -5966,15 +5964,6 @@
return (ENODEV);
}
-static void
-umidi_init(device_t dev)
-{
- struct uaudio_softc *sc = device_get_softc(dev);
- struct umidi_chan *chan = &sc->sc_midi_chan;
-
- mtx_init(&chan->mtx, "umidi lock", NULL, MTX_DEF | MTX_RECURSE);
-}
-
static struct usb_fifo_methods umidi_fifo_methods = {
.f_start_read = &umidi_start_read,
.f_start_write = &umidi_start_write,
@@ -5997,6 +5986,8 @@
int error;
uint32_t n;
+ mtx_init(&chan->mtx, "umidi lock", NULL, MTX_DEF | MTX_RECURSE);
+
if (usb_test_quirk(uaa, UQ_SINGLE_CMD_MIDI))
chan->single_command = 1;
@@ -6084,6 +6075,9 @@
struct umidi_chan *chan = &sc->sc_midi_chan;
uint32_t n;
+ if (sc->sc_midi_chan.valid == 0)
+ return (0);
+
for (n = 0; n < UMIDI_EMB_JACK_MAX; n++)
usb_fifo_detach(&chan->sub[n].fifo);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Sep 13, 11:24 AM (1 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38851445
Default Alt Text
D55902.id173891.diff (1 KB)
Attached To
Mode
D55902: snd_uaudio: Refactor umidi_attach()
Attached
Detach File
Event Timeline
Log In to Comment