diff --git a/sndiod/midi.c b/sndiod/midi.c index 42a5ca9..401eea8 100644 --- a/sndiod/midi.c +++ b/sndiod/midi.c @@ -512,7 +512,7 @@ port_unref(struct port *c) #endif for (rxmask = 0, i = 0; i < MIDI_NEP; i++) rxmask |= midi_ep[i].txmask; - if ((rxmask & c->midi->self) == 0 && c->state == PORT_INIT && !c->hold) + if ((rxmask & ~c->midi->self) == 0 && c->state == PORT_INIT && !c->hold) port_drain(c); }