ASoC: wm8996: match wait_for_completion_timeout return type

return type of wait_for_completion_timeout is unsigned long not int. An
appropriately named unsigned long is added and the assignment fixed up
in case of completion occurring the remaining time is >=1 so ret is set to
1 if no timeout occurred.

Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Nicholas Mc Guire 2015-03-08 06:02:15 -04:00 committed by Mark Brown
parent c517d838eb
commit 62c76fe2e5
1 changed files with 5 additions and 4 deletions

View File

@ -2009,7 +2009,7 @@ static int wm8996_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
struct wm8996_priv *wm8996 = snd_soc_codec_get_drvdata(codec);
struct i2c_client *i2c = to_i2c_client(codec->dev);
struct _fll_div fll_div;
unsigned long timeout;
unsigned long timeout, time_left;
int ret, reg, retry;
/* Any change? */
@ -2113,10 +2113,11 @@ static int wm8996_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
timeout /= 2;
for (retry = 0; retry < 10; retry++) {
ret = wait_for_completion_timeout(&wm8996->fll_lock,
timeout);
if (ret != 0) {
time_left = wait_for_completion_timeout(&wm8996->fll_lock,
timeout);
if (time_left != 0) {
WARN_ON(!i2c->irq);
ret = 1;
break;
}