Bug? Strange crash with snd_hdspm and RME RayDAT on MIDI-input

Joakim Ekblad aio.alsadevel at aio.nu
Wed Feb 1 12:22:36 CET 2023


Den 2023-01-31 kl. 16:02, skrev Takashi Iwai:
> On Fri, 27 Jan 2023 16:41:42 +0100,
> AiO wrote:
>>
>> Hello there,
>>
>> I've tried to find some insights in a weird problem I have with
>> snd_hdspm. I guess it is an error-report/bug-posting.
>>

<snip>

>>
>> What did I run in to?! :)
> 
> Possibly it went into the endless loop to flush the MIDI input bytes
> where the hardware doesn't return the right value (likely returning
> 0xff constantly).
> 
> Could you check the patch below?
> 
> 
> thanks,
> 
> Takashi
> 
> -- 8< --
> --- a/sound/pci/rme9652/hdspm.c
> +++ b/sound/pci/rme9652/hdspm.c
> @@ -1838,7 +1838,9 @@ static inline int snd_hdspm_midi_output_possible (struct hdspm *hdspm, int id)
>   
>   static void snd_hdspm_flush_midi_input(struct hdspm *hdspm, int id)
>   {
> -	while (snd_hdspm_midi_input_available (hdspm, id))
> +	int count;
> +
> +	for (count = 0; snd_hdspm_midi_input_available(hdspm, id) && count < 256; count++)
>   		snd_hdspm_midi_read_byte (hdspm, id);
>   }
>   

Hi again! Thank you for your fast reply. Despite it was like 20 years 
since i built a Linux-kernel, i compiled a kernel (not linux-rt tho) 
with this applied, sadly it still seems like it crashes on me like 
before... (If i got everything right :D )

It seems I receive "seldom occurring events", but if i am a bit more 
brutal, feeding events faster (randomly banging on a MIDI keyboard e.g.) 
it hangs.

I did also create an issue in GitHub on this about the same time wrote 
to the list:

https://github.com/alsa-project/alsa-lib/issues/297

How to go forward?


More information about the Alsa-devel mailing list