I have the same problem on my PowerMac G4. After reading the note from Dave Vasilevsky, I also checked the status in the snd_pmac_pcm_update function, and it seems that the failing DMA transfer has the status DEAD.
I've then checked the old OSS powermac sound driver in sound/oss/dmasound/dmasound_awacs.c (which used to work with newer kernels) - and yes, this driver handles DEAD DMA transfers!
So I've spent some time porting the DEAD DMA transfer handling code from the old driver to the new one - and now sound it working for me again with kernels 2.6.22 / Ubuntu 7.10.
I've attached my patch, would be nice if other users here could try it out, too!