[ALSA] soc - Fix s3c24xx-i2s LR sync while timer ticks are disabled
authorWerner Almesberger <werner@openmoko.org>
Mon, 14 Apr 2008 12:26:44 +0000 (14:26 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 19 May 2008 15:55:10 +0000 (17:55 +0200)
commit33e5b22285f63ede858c00456f3ffbc2ea79d6cf
tree67ec525d50071e56cbaffdef3a0ea7dfe0b2ef57
parenta65f0568f6cc8433877fb71dd7d36b551854b0bc
[ALSA] soc - Fix s3c24xx-i2s LR sync while timer ticks are disabled

When timer ticks are disabled when calling
sound/soc/s3c24xx/s3c24xx-i2s.c:s3c24xx_snd_lrsync
and the LR signal never happens, we loop forever.
This has been observed in the following call chain:
snd_pcm_common_ioctl1 -> snd_pcm_action_lock_irq ->
snd_pcm_action_single
 -> snd_pcm_do_resume -> soc_pcm_trigger -> s3c24xx_i2s_trigger

The patch below changes the timeout mechanism to use udelay, which
doesn't need timer ticks.

Signed-off-by: Werner Almesberger <werner@openmoko.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sound/soc/s3c24xx/s3c24xx-i2s.c