]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commitc7725e202066566ab0c3f82d11728240f529ef97
treeb639f0255a6eba9cf78c4e34e6216eb46f05891f
parentda6eabd5c43407700224dcb2b2ff82337615a1f8
[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