diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-06-15 12:31:38 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-06-15 12:36:06 +0200 |
commit | f708eb1d71dc8ffb184da9f0bc53461c6dc10653 (patch) | |
tree | 195e50b4208033255cdcd5471b4dec3cb796497a /kernel/uid16.c | |
parent | 07a2039b8eb0af4ff464efd3dfd95de5c02648c6 (diff) | |
download | op-kernel-dev-f708eb1d71dc8ffb184da9f0bc53461c6dc10653.zip op-kernel-dev-f708eb1d71dc8ffb184da9f0bc53461c6dc10653.tar.gz |
ALSA: intel8x0 - Fix PCM position craziness
The PCM pointer callback sometimes returns invalid positions and this
screws up the hw_ptr updater in PCM core. Especially since now the
jiffies check is optional with xrun_debug, the invalid position is
handled as is, and causes serious sound skips, etc.
This patch simplifies the position-fix strategy in intel8x0 to be more
robust:
- just falls back to the last position if bogus position is detected
- another sanity check for the backward move of the position due to
a race of register update and the base-index update
This patch is applicable also for 2.6.30.
Tested-by: David Miller <davem@davemloft.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'kernel/uid16.c')
0 files changed, 0 insertions, 0 deletions