Comment 55 for bug 87652

Revision history for this message
Thomas Huth (th-huth) wrote :

 Hi Dave!

> Thanks so much for fixing this! Would you mind telling me how the dmasound_awacs.c fix came to your attention? I was completely stuck when I tried looking into this earlier, maybe I'll learn something :-)

Pure luck :-) I am also completely new to kernel hacking... I read your message about the xfer_status in snd_pmac_pcm_update, added some debugging printks in my sources in this function, then found out that the DEAD bit is set as soon as the sound dies. Since I knew that the old OSS driver was still working with newer kernels (at least 2.6.20, I was not able to use it in 2.6.22 anymore), I peeked into the sources there and spotted the DEAD DMA transfer handling in it.

> I'm also wondering whether this counts as a fix or a workaround. It's somewhat weird that we're now seeing the same problem in the ALSA driver as OSS used to have--but for years these DEAD DMA transfers never showed up in ALSA.

Agreed, maybe it's just a workaround. Maybe this patch from Ben Herrenschmidt is causing some troubles with DMA that haven't been there before? Looking at Ben's patch, there is some stuff related to DMA and IDE (which also uses DMA) in it... have you already been in contact with Ben Herrenschmidt because of this?