Pavel Hofman schrieb:
Hi Martin,
I will try a newer kernel on my home Ubuntu 7.10.
We really need to find out what freezes your system. Is it a complete freeze, or just heavy overload?
Originally, I experienced a complete freeze caused by infinite loop in IRQ handler ice1724.c:snd_vt1724_interrupt. This loop is already avoided by the timeout variable. Do you run with CONFIG_SND_DEBUG? Does dmesg list any of the "ice1724: Too long irq loop..." messages?
Later on, I experienced an IRQ flood, caused by intermittent throwing ICE1724 IRQ (MPU transmit). I could see the IRQxx "process" hogging the CPU in top. If that is the case, please add some debug statements to ice1724.c:snd_vt1724_interrupt and look which IRQ gets fired (variable status).
In any case, please make sure you are using the latest GIT version with all the patches, so that we all work on the same code.
Disabling MIDI OUT - I have not tested the following patch, perhaps it needs some changes:
diff --git a/pci/ice1712/ice1724.c b/pci/ice1712/ice1724.c index e596d77..13695de 100644 --- a/pci/ice1712/ice1724.c +++ b/pci/ice1712/ice1724.c @@ -2546,7 +2546,7 @@ static int __devinit snd_vt1724_probe(struct pci_dev *pci, if (ice->eeprom.data[ICE_EEP2_SYSCONF] & VT1724_CFG_MPU401) { struct snd_rawmidi *rmidi;
err = snd_rawmidi_new(card, "MIDI", 0, 1, 1,
&rmidi);
err = snd_rawmidi_new(card, "MIDI", 0, 0, 1,
&rmidi); if (err < 0) { snd_card_free(card); return err; @@ -2554,11 +2554,7 @@ static int __devinit snd_vt1724_probe(struct pci_dev *pci ice->rmidi[0] = rmidi; rmidi->private_data = ice; strcpy(rmidi->name, "ICE1724 MIDI");
rmidi->info_flags = SNDRV_RAWMIDI_INFO_OUTPUT |
SNDRV_RAWMIDI_INFO_INPUT |
SNDRV_RAWMIDI_INFO_DUPLEX;
snd_rawmidi_set_ops(rmidi,
SNDRV_RAWMIDI_STREAM_OUTPUT,
&vt1724_midi_output_ops);
rmidi->info_flags = SNDRV_RAWMIDI_INFO_INPUT; snd_rawmidi_set_ops(rmidi,
SNDRV_RAWMIDI_STREAM_INPUT, &vt1724_midi_input_ops);
Regards,
Pavel. _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Hi Pavel,
now i'm confused. I just compiled the current daily snapshot with "./configure --with-isapnp=no --with-sequencer=yes --with-oss=no --with-debug=verbose --with-cards=ice1724".
That should give as much debug messages as i need, as i understood. I get only one Message, telling me that ice1724 is using the defined eeprom. After using the midi output port, there is no more message in any log at all.
Due to this, it is really hard to understand the problem, for me it looks like a complete freeze. If i would get "just" a heavy overload, the numlock should still react within 10 minutes, and the cpu cooler should be louder. Both of this should also happen during an irq flood, if i understood that right.
Do you have any idea how to find out whats happening there? I will try your patch this evening.
Thanks a lot for your help, regards,
Martin