Update of /cvsroot/alsa/alsa-kernel/pci/ac97
In directory sc8-pr-cvs1:/tmp/cvs-serv4982/pci/ac97
Modified Files:
ac97_pcm.c
Log Message:
- fixed the wrong sized allocation of snd_ac97_pcm.
- fixed the probing of multiple codecs on intel8x0.
- fixed the computation of rates bits.
Index: ac97_pcm.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_pcm.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ac97_pcm.c 18 Nov 2003 13:52:59 -0000 1.2
+++ ac97_pcm.c 20 Nov 2003 15:59:32 -0000 1.3
@@ -260,7 +260,7 @@
unsigned short slots = 0;
if (ac97_is_rev22(ac97)) {
/* Note: it's simply emulation of AMAP behaviour */
- u8 es;
+ u16 es;
es = ac97->regs[AC97_EXTENDED_STATUS] &=
~AC97_EI_DACS_SLOT_MASK;
switch (ac97->addr) {
case 1:
@@ -357,11 +357,7 @@
case AC97_PCM_MIC_ADC_RATE: idx = AC97_RATES_MIC_ADC; break;
default: idx = AC97_RATES_SPDIF; break;
}
- if (rates == ~0) {
- rates = pcm->r[dbl].codec[cidx]->rates[idx];
- } else {
- rates &= pcm->r[dbl].codec[cidx]->rates[idx];
- }
+ rates &= pcm->r[dbl].codec[cidx]->rates[idx];
}
return rates;
}
@@ -378,7 +374,7 @@
*/
int snd_ac97_pcm_assign(ac97_bus_t *bus,
unsigned short pcms_count,
- struct ac97_pcm *pcms)
+ const struct ac97_pcm *pcms)
{
int i, j, k;
struct ac97_pcm *pcm, *rpcms, *rpcm;
@@ -389,7 +385,7 @@
unsigned int rates;
ac97_t *codec;
- rpcms = snd_kcalloc(sizeof(struct ac97_pcm), GFP_KERNEL);
+ rpcms = snd_kcalloc(sizeof(struct ac97_pcm) * pcms_count, GFP_KERNEL);
if (rpcms == NULL)
return -ENOMEM;
memset(avail_slots, 0, sizeof(avail_slots));
@@ -421,6 +417,7 @@
rpcm->exclusive = pcm->exclusive;
rpcm->private_value = pcm->private_value;
rpcm->bus = bus;
+ rpcm->rates = ~0;
slots = pcm->r[0].slots;
for (j = 0; j < 4 && slots; j++) {
rates = ~0;
@@ -448,11 +445,7 @@
}
slots &= ~tmp;
rpcm->r[0].slots |= tmp;
- if (j == 0) {
- pcm->rates = rates;
- } else {
- pcm->rates &= rates;
- }
+ rpcm->rates &= rates;
}
}
bus->pcms_count = pcms_count;
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog