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; }