[alsa-devel] [snd_ali5451] snd_ali5451 0000:00:06.0: BUG: , pos = 16384, buffer size = 16384, period size = 1024
Takashi Iwai
tiwai at suse.de
Mon Apr 25 10:50:07 CEST 2016
On Sun, 24 Apr 2016 18:43:11 +0200,
Enrico Mioso wrote:
>
> After using the system for some time, the following is present on my dmesg:
> $ dmesg -t | grep -i ali5 | sort | uniq
>
> pnp 00:06: Plug and Play ACPI device, IDs ALI5123 PNP0510 (active)
> snd_ali5451 0000:00:06.0: AC'97 1 access is not valid [0xffffffff], removing mixer.
> snd_ali5451 0000:00:06.0: AC'97 1 does not respond - RESET
> snd_ali5451 0000:00:06.0: ali mixer 1 creating error.
> snd_ali5451 0000:00:06.0: enabling device (0005 -> 0007)
> snd_ali5451 0000:00:06.0: invalid position: , pos = 16384, buffer size = 16384, period size = 1024
> snd_ali5451 0000:00:06.0: invalid position: , pos = 16385, buffer size = 16384, period size = 1024
The kernel warning itself can be fixed by the patch below.
The remaining question is whether this covers all; do the playback and
capture still work well despite of these messages? Or do you actually
encounter the overrun / underrun?
In anyway, let me know whether the patch works.
thanks,
Takashi
---
diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c
index 36470af7eda7..92b819e4f729 100644
--- a/sound/pci/ali5451/ali5451.c
+++ b/sound/pci/ali5451/ali5451.c
@@ -1408,6 +1408,7 @@ snd_ali_playback_pointer(struct snd_pcm_substream *substream)
spin_unlock(&codec->reg_lock);
dev_dbg(codec->card->dev, "playback pointer returned cso=%xh.\n", cso);
+ cso %= runtime->buffer_size;
return cso;
}
@@ -1428,6 +1429,7 @@ static snd_pcm_uframes_t snd_ali_pointer(struct snd_pcm_substream *substream)
cso = inw(ALI_REG(codec, ALI_CSO_ALPHA_FMS + 2));
spin_unlock(&codec->reg_lock);
+ cso %= runtime->buffer_size;
return cso;
}
More information about the Alsa-devel
mailing list