15 Sep
2011
15 Sep
'11
4:52 a.m.
hi Mark, I guess we need to initialize i to timeout value. comments?
diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c index e5e4607..5aee9cb 100644 --- a/sound/soc/codecs/wm8996.c +++ b/sound/soc/codecs/wm8996.c @@ -713,6 +713,7 @@ static void wait_for_dc_servo(struct snd_soc_codec *codec, u16 mask) snd_soc_write(codec, WM8996_DC_SERVO_2, mask);
/* Use the interrupt if possible */ + i = timeout; do { if (i2c->irq) { timeout = wait_for_completion_timeout(&wm8996->dcs_done, @@ -722,7 +723,7 @@ static void wait_for_dc_servo(struct snd_soc_codec *codec, u16 mask)
} else { msleep(1); - if (--i) { + if (--i == 0) { timeout = 0; break; }