• Jaroslav Kysela's avatar
    [ALSA] hda_intel: fix unexpected ring buffer positions · fa00e046
    Jaroslav Kysela authored
    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: default avatarJaroslav Kysela <perex@perex.cz>
    fa00e046
hda_intel.c 67.1 KB