Browse Source

ALSA: bebob: Add a quirk of data blocks for MIDI messages for some M-Audio devices

The firmwares for M-Audio Firewire 410/1814 and ProjectMix I/O has a quirk to
ignore MIDI messages in data blocks more than 8. This commit uses a flag which
Fireworks uses for a similar quirk.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Sakamoto 11 years ago
parent
commit
c495a4a36e
1 changed files with 7 additions and 0 deletions
  1. 7 0
      sound/firewire/bebob/bebob_stream.c

+ 7 - 0
sound/firewire/bebob/bebob_stream.c

@@ -472,6 +472,13 @@ int snd_bebob_stream_init_duplex(struct snd_bebob *bebob)
 		amdtp_stream_destroy(&bebob->rx_stream);
 		destroy_both_connections(bebob);
 	}
+	/*
+	 * The firmware for these devices ignore MIDI messages in more than
+	 * first 8 data blocks of an received AMDTP packet.
+	 */
+	if (bebob->spec == &maudio_fw410_spec ||
+	    bebob->spec == &maudio_special_spec)
+		bebob->rx_stream.rx_blocks_for_midi = 8;
 end:
 	return err;
 }