• Takashi Iwai's avatar
    ALSA: intel8x0 - Fix PCM position craziness · f708eb1d
    Takashi Iwai authored
    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: default avatarDavid Miller <davem@davemloft.net>
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    f708eb1d
intel8x0.c 90.3 KB