Skip to content

Commit

Permalink
[ALSA] via82xx: tweak VT8251 workaround
Browse files Browse the repository at this point in the history
Move the workaround for the VT8251 up a bit, and check for STAT_EOL
rather than STAT_ACTIVE. This resolves issues some people were having
with certain ALSA clients (and allows the STAT_ACTIVE check to do what
it was intended to do).
This change was suggested by Andrew Daviel.

Signed-off-by: Bastiaan Jacques <b.jacques@planet.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Bastiaan Jacques authored and Jaroslav Kysela committed Apr 27, 2006
1 parent 1a18313 commit c6cc0e3
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions sound/pci/via82xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit c6cc0e3

Please sign in to comment.