diff --git a/sound/firewire/bebob/bebob_midi.c b/sound/firewire/bebob/bebob_midi.c index f7db1f7bce861ec0296f61574f70b79446a840b5..f903271e93d0602c3ac5027f772bb0b3eea8e444 100644 --- a/sound/firewire/bebob/bebob_midi.c +++ b/sound/firewire/bebob/bebob_midi.c @@ -22,6 +22,8 @@ static int midi_open(struct snd_rawmidi_substream *substream) if (err >= 0) { ++bebob->substreams_counter; err = snd_bebob_stream_start_duplex(bebob); + if (err < 0) + --bebob->substreams_counter; } mutex_unlock(&bebob->mutex); if (err < 0)