On 14-05-08 15:01, Takashi Iwai wrote: > At Wed, 14 May 2008 14:46:44 +0200, > Rene Herman wrote: >> If it's going to be useful, definitely. The attached does not just set >> >> dev->dma_mask = &dev->coherent_dma_mask >> >> as in the fallback_dev when dma_alloc_coherent() is passed a NULL device >> only due to the mask juggling in snd_dma_hack_alloc_coherent() (which >> wouldn't break, but...) but introduces its own copy in struct isa_dev >> same as struct pnp_dev. As far as I'm aware, there's no actual reason >> for keeping it other than that and if the hack could go I'd rather lose >> the private mask copy again also. > > The snd_dma_hack_alloc_coherent() is gone in the latest ALSA tree. > It wasn't merged to 2.6.26, though. Ah, good, thanks, I'll forward port to current ALSA. >> At least the ALSA one isn't passing a literal NULL it seems. But yes, >> current NULL-hack reinstatement (it's been merged by Linus already) is >> definitely the correct fix for now. > > Yes. We need to fix the caller of snd_pcm_lib_preallocate_pages*() > under sound/isa. Currently it's called with snd_dma_isa_data(), which > is expanded to NULL. Replace it with a proper device pointer should > suffice. Like this? With this (on top of the previous patch setting the dma_mask ofcourse) legacy ISA actually appears to be fine but it's then ISAPnP which goes bonkers again. Sigh. Getting an allocation failure. Don't understand why yet since pnp_alloc_dev() definitely sets the mask already. Will stare... Rene.