[ALSA] hda_intel: fix unexpected ring buffer positions
authorJaroslav Kysela <perex@perex.cz>
Fri, 10 Apr 2009 10:20:45 +0000 (12:20 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 10 Apr 2009 10:20:45 +0000 (12:20 +0200)
commitfa00e046b41663cbda9b1affc0594669e5f14219
treeb639f0255a6eba9cf78c4e34e6216eb46f05891f
parent577c9c456f0e1371cbade38eaf91ae8e8a308555
[ALSA] hda_intel: fix unexpected ring buffer positions

I found two issues with ICH7-M (it should be related to other HDA chipsets
as well):

- the ring buffer position is not reset when stream restarts (after xrun) -
  solved by moving azx_stream_reset() call from open() to prepare() callback
  and reset posbuf to zero (it might be filled with hw later than position()
  callback is called)
- irq_ignore flag should be set also when ring buffer memory area is not
  changed in prepare() callback - this patch replaces irq_ignore with
  more universal check based on jiffies clock

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sound/pci/hda/hda_intel.c