Dear Takashi, thank you for your quick response! See my inline comments. Am Mittwoch, 11. Februar 2009 13:08:22 schrieb Takashi Iwai: > At Tue, 10 Feb 2009 21:54:32 +0100, > > Holger Dehnhardt wrote: > > After some time I found the following bug: > > > > static void snd_mtpav_inmidi_h(struct mtpav *mcrd, u8 inbyte) > > { > > if (inbyte >= 0xf8) { > > /* real-time midi code */ > > --> snd_mtpav_inmidi_process(mcrd, inbyte); > > //here the inmidiport is not translated to the prtnumber, so > > // snd_mtpav_inmidi_process the port with an index of some 80000 > > // in the ports array of the mtpav struct was called > > Good catch. I think the patch below should fix the problem > > > The following change made the driver work: > > static void snd_mtpav_inmidi_h(struct mtpav *mcrd, u8 inbyte) > > { > > if (inbyte >= 0xf8) { > > /* real-time midi code */ > > mcrd->inmidiport = translate_hwport_to_subdevice(mcrd, inbyte); > > This isn't correct since inbyte is supposed to be under 0x13. Sorry, I don't understand what you mean: inbyte should always be lower than 0x13 or is the real time midi code always lower then 0x13? > > > After that I realised, that with the recent driver - even without my > > change - playing midi files din not work anymore. > > Only the first midi event was sent to the interface, everything else was > > dropped somewhere. > > > > So a diff between the last workin version and the recent version showed > > only one change: > > What was the last working version exactly? 1.0.18 (from the debian experimental repository) --snip Holger _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel