[alsa-devel] 2.6.26-rc1 regression: ISA DMA broken (bisected)

Rene Herman rene.herman at keyaccess.nl
Wed May 14 17:40:55 CEST 2008


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.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sound_isa_use_dma_dev.diff
Url: http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20080514/b4e750a4/attachment-0001.bat 


More information about the Alsa-devel mailing list