From d5b6517fb2169e844b4a5acddea066a1f044a783 Mon Sep 17 00:00:00 2001 From: Bastiaan Jacques Date: Thu, 20 Apr 2006 12:27:09 +0200 Subject: [PATCH] --- yaml --- r: 26332 b: refs/heads/master c: c6cc0e3b0c087d350bdc5912ecdfb17e796ae266 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/pci/via82xx.c | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 9fefdda7a551..9c1d35194661 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1a183131fe284e68194e66cc4ff49d5876501eb0 +refs/heads/master: c6cc0e3b0c087d350bdc5912ecdfb17e796ae266 diff --git a/trunk/sound/pci/via82xx.c b/trunk/sound/pci/via82xx.c index 1b740dd4825b..f7a22aa65a5e 100644 --- a/trunk/sound/pci/via82xx.c +++ b/trunk/sound/pci/via82xx.c @@ -863,16 +863,14 @@ static snd_pcm_uframes_t snd_via8233_pcm_pointer(struct snd_pcm_substream *subst if (!status) status = inb(VIADEV_REG(viadev, OFFSET_STATUS)); + /* An apparent bug in the 8251 is worked around by sending a + * REG_CTRL_START. */ + if (chip->revision == VIA_REV_8251 && (status & VIA_REG_STAT_EOL)) + snd_via82xx_pcm_trigger(substream, SNDRV_PCM_TRIGGER_START); + if (!(status & VIA_REG_STAT_ACTIVE)) { - /* An apparent bug in the 8251 is worked around by sending - * a REG_CTRL_START. */ - if (chip->revision == VIA_REV_8251) - snd_via82xx_pcm_trigger(substream, - SNDRV_PCM_TRIGGER_START); - else { - res = 0; - goto unlock; - } + res = 0; + goto unlock; } if (count & 0xffffff) { idx = count >> 24;