Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Sat, 17 Jan 2004 17:10:13 +0100 | From | Johannes Stezenbach <> | Subject | 2.6.1-mm4: ALSA es1968 DMA alloc problem |
| |
Hi,
the ALSA driver snd_es1968 for my Terratec DMX (ES1978 Maestro 2E) fails in 2.6.1-mm4 with the following message:
Jan 16 01:59:15 abc vmunix: PCI: Found IRQ 10 for device 0000:00:0e.0 Jan 16 01:59:15 abc vmunix: es1968: not attempting power management. Jan 16 01:59:16 abc vmunix: es1968: DMA buffer beyond 256MB. Jan 16 01:59:16 abc vmunix: ES1968 (ESS Maestro): probe of 0000:00:0e.0 failed with error -12
The seems to be caused by the following change:
--- linux-2.6.1/sound/pci/es1968.c 2003-09-27 18:57:48.000000000 -0700 +++ 25/sound/pci/es1968.c 2004-01-15 22:25:44.000000000 -0800 @@ -2538,7 +2567,7 @@ static int __devinit snd_es1968_create(s snd_printk("architecture does not support 28bit PCI busmaster DMA\n"); return -ENXIO; } - pci_set_dma_mask(pci, 0x0fffffff); + pci_set_consistent_dma_mask(pci, 0x0fffffff); chip = (es1968_t *) snd_magic_kcalloc(es1968_t, 0, GFP_KERNEL); if (! chip) I don't fully understand Documentation/DMA-mapping.txt, and Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl says to use pci_set_consistent_dma_mask(). I decided to call both pci_set_dma_mask() and pci_set_consistent_dma_mask(), and then the driver works again.
Regards, Johannes - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |