diff --git a/sound/firewire/dice/dice-midi.c b/sound/firewire/dice/dice-midi.c index 436f0c3c0fbba75ee5cedac70bece1bcb56dff3d..30a0b8200160e94f6a470dc0d3970277c1a82595 100644 --- a/sound/firewire/dice/dice-midi.c +++ b/sound/firewire/dice/dice-midi.c @@ -22,6 +22,8 @@ static int midi_open(struct snd_rawmidi_substream *substream) if (err >= 0) { ++dice->substreams_counter; err = snd_dice_stream_start_duplex(dice); + if (err < 0) + --dice->substreams_counter; } mutex_unlock(&dice->mutex);