ALSA: hdspm - Fix midi port initialization
authorAdrian Knoth <adi@drcomp.erfurt.thur.de>
Mon, 28 Feb 2011 14:14:50 +0000 (15:14 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 28 Feb 2011 14:58:19 +0000 (15:58 +0100)
Depending on the model and the presence of a TCO module, the number of
midi ports varies. Some have 1 port (MADIface), some have 2 (default),
with TCO, there are 3.

Don't hardcode the number of midi ports to initialize.

This patch also fixes a boot lockup on MADIface.

[Coding-style fixes by tiwai]

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdspm.c

index 78f6ab5dbdd80e690fa186409269a963549e71bf..0ed4b4e981d844bb939f5208915e636c93a3dcbe 100644 (file)
@@ -6291,8 +6291,10 @@ static int __devinit snd_hdspm_create_pcm(struct snd_card *card,
 
 static inline void snd_hdspm_initialize_midi_flush(struct hdspm * hdspm)
 {
-       snd_hdspm_flush_midi_input(hdspm, 0);
-       snd_hdspm_flush_midi_input(hdspm, 1);
+       int i;
+
+       for (i = 0; i < hdspm->midiPorts; i++)
+               snd_hdspm_flush_midi_input(hdspm, i);
 }
 
 static int __devinit snd_hdspm_create_alsa_devices(struct snd_card *card,