[alsa-devel] Fixes in intel8x0.c

Pavel Hofman pavel.hofman at insite.cz
Tue May 26 01:19:06 CEST 2009


Hi,

while trying to dive into complexities of intel8x0.c I found the following:

static struct snd_pci_quirk intel8x0_clock_list[] __devinitdata = {
	SND_PCI_QUIRK(0x0e11, 0x008a, "AD1885", 41000),
	SND_PCI_QUIRK(0x1028, 0x00be, "AD1885", 44100),
.....

Is it really supposed to be 41000, instead of 44100?


In static int snd_intel8x0_pcm_open(struct snd_pcm_substream *substream,
struct ichdev *ichdev)
...
	runtime->hw.rates = ichdev->pcm->rates;

The pcm field in ichdev is snd_ac97, while the rates field in snd_ac97
is defined

unsigned int rates[6];	/* see AC97_RATES_* defines */

I guess this way always rates[0] from the list is taken, unlike e.g. in
via82xx.c: runtime->hw.rates = chip->ac97->rates[AC97_RATES_SPDIF];

It seems a bug to me, though I may be wrong of course.


Thanks and regards,

Pavel




More information about the Alsa-devel mailing list