[alsa-devel] [PATCH] ALSA : Au88x0 - Support 4 channels playback when AC97 codec has SDAC bit , Reduce the number of playback devices of au8830 from 32 to 16

Raymond Yau superquad.vortex2 at gmail.com
Tue Feb 28 04:04:07 CET 2012


2012/1/16, Takashi Iwai <tiwai at suse.de>:
> At Fri, 13 Jan 2012 18:47:45 +0800,
> Raymond Yau wrote:
>>
>> [PATCH - ALSA 1/2] Au88x0 - Support 4 channels playback when AC97
>> codecs has SDAC bit
>>
>> - Check SDAC bit of AC97 codec for supporting 4 channels playback.
>>
>>
>> [PATCH - ALSA 2/2] Au88x0 - Reduce the number of playback subdevices
>> of au8830 from 32 to 16
>>
>> - The maximum number of playback streams depend on the number of sample
>>   rate conveters (16) and the number of DMA channels (32).
>
> Applied both patches.  Thanks.
>
>

Does alsa require the driver to provide private_free for ac97_bus and ac97 ?

There is a bug report

snd_vortex_dev_free() BUG: unable to handle kernel NULL pointer

https://bugzilla.redhat.com/show_bug.cgi?id=788978

It seem that snd_ac97_bus() fail

However  I cannot reproduce the bug in 2.6 kernel,

Do 3.x kernel require mixer created after pcm devices ?


:Call Trace:
: [<ffffffff810dec3d>] __free_irq+0x17d/0x220
: [<ffffffff810dee65>] free_irq+0x55/0xd0
: [<ffffffffa04e2d64>] snd_vortex_dev_free+0x44/0x80 [snd_au8830]
: [<ffffffffa01c0aa1>] snd_device_free+0x71/0x170 [snd]
: [<ffffffffa01c0f51>] snd_device_free_all+0x61/0xb0 [snd]
: [<ffffffffa01b9908>] snd_card_do_free+0x58/0x140 [snd]
: [<ffffffffa01badf3>] snd_card_free+0xa3/0xc0 [snd]
: [<ffffffffa0261b8f>] ? snd_ac97_bus+0xaf/0x130 [snd_ac97_codec]
: [<ffffffffa04e6a9f>] snd_vortex_probe+0x1c40/0x1d09 [snd_au8830]
: [<ffffffff812db37c>] local_pci_probe+0x5c/0xd0
: [<ffffffff812dcc19>] pci_device_probe+0x109/0x130
: [<ffffffff813932cc>] driver_probe_device+0x9c/0x300
: [<ffffffff813935db>] __driver_attach+0xab/0xb0
: [<ffffffff81393530>] ? driver_probe_device+0x300/0x300
: [<ffffffff81393530>] ? driver_probe_device+0x300/0x300
: [<ffffffff8139214c>] bus_for_each_dev+0x5c/0x90
: [<ffffffff81392ede>] driver_attach+0x1e/0x20
: [<ffffffff81392ae0>] bus_add_driver+0x1b0/0x2a0
: [<ffffffffa04ed000>] ? 0xffffffffa04ecfff
: [<ffffffff81393b36>] driver_register+0x76/0x140
: [<ffffffff815e554d>] ? notifier_call_chain+0x4d/0x70
: [<ffffffffa04ed000>] ? 0xffffffffa04ecfff
: [<ffffffff812dc8f6>] __pci_register_driver+0x56/0xd0
: [<ffffffff81041673>] ? set_memory_nx+0x43/0x50
: [<ffffffffa04ed01e>] alsa_card_vortex_init+0x1e/0x1000 [snd_au8830]
: [<ffffffff81002042>] do_one_initcall+0x42/0x180
: [<ffffffff810ac970>] sys_init_module+0xc0/0x230
: [<ffffffff815e9782>] system_call_fastpath+0x16/0x1b


More information about the Alsa-devel mailing list