Hello. First of all: thank you for your work and kindness. It seems your patch solves the problem: the message is not printed in the dmesg; I wasn't able to find other occurrencies of the messages in my dmesg after applying this patch and loading the modified module. thank you very much for this effort and everything, and sorry for me being late. You've always been responsive in general, sorry if I didn't in some cases.
On Mon, 25 Apr 2016, Takashi Iwai wrote:
==Date: Mon, 25 Apr 2016 10:50:07 ==From: Takashi Iwai tiwai@suse.de ==To: Enrico Mioso mrkiko.rs@gmail.com ==Cc: alsa-devel@alsa-project.org ==Subject: Re: [alsa-devel] [snd_ali5451] snd_ali5451 0000:00:06.0: BUG: , == pos = 16384, buffer size = 16384, period size = 1024 == ==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; == } == ==