Re: [ALSA - driver 0001138]: errors when installing au8820 modules

Raymond
2005-07-29T14:43:18Z

Takashi Iwai wrote:
> At Wed, 08 Jun 2005 17:06:39 +0800,
> Raymond wrote:
>
>
>>Is there any reason to make this change ?
>>
>>alsa-kernel/pci/au88x0/au88x0.c
>>@@ -144,15 +144,18 @@
>> // check PCI availability (DMA).
>> if ((err = pci_enable_device(pci)) < 0)
>> return err;
>>- if (!pci_dma_supported(pci, VORTEX_DMA_MASK)) {
>>+ if (pci_set_dma_mask(pci, VORTEX_DMA_MASK) < 0 ||
>>+ pci_set_consistent_dma_mask(pci, VORTEX_DMA_MASK) < 0) {
>> printk(KERN_ERR "error to set DMA mask\n");
>>+ pci_disable_device(pci);
>> return -ENXIO;
>> }
>>- pci_set_dma_mask(pci, VORTEX_DMA_MASK);
>
>
> This is clean up.
>
>
>> chip = kcalloc(1, sizeof(*chip), GFP_KERNEL);
>>- if (chip == NULL)
>>+ if (chip == NULL) {
>>+ pci_disable_device(pci);
>> return -ENOMEM;
>>+ }
>
>
> This fixes the PCI state in the error path.
>
>
>> chip->card = card;
>>
>>@@ -202,6 +205,8 @@
>> goto alloc_out;
>> }
>>
>>+ snd_card_set_dev(card, &pci->dev);
>>+
>> *rchip = chip;
>
>
> And this sets up the missing sysfs stuff.
>
>

It seem that these two patches for Kernel 2.6 were lost when au88x0
migrate from alsa-driver to alsa-kernel.

http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-driver/pci/au88x0/au88x0.c?r1=1.6&r2=1.7
* fixed the DMA allocation.
pci_set_dma_mask() is called together with pci_set_consistent_dma_mask().
also clean up the double check of mask.

http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-driver/pci/au88x0/au88x0.c?r1=1.8&r2=1.9
* added snd_card_set_dev() macro.
* sysfsfied more pci, isapnp and usb drivers.

-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September
19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf