|
@@ -1762,6 +1762,7 @@ static int wm5100_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
|
|
|
struct _fll_div factors;
|
|
|
struct wm5100_fll *fll;
|
|
|
int ret, base, lock, i, timeout;
|
|
|
+ unsigned long time_left;
|
|
|
|
|
|
switch (fll_id) {
|
|
|
case WM5100_FLL1:
|
|
@@ -1842,9 +1843,9 @@ static int wm5100_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
|
|
|
/* Poll for the lock; will use interrupt when we can test */
|
|
|
for (i = 0; i < timeout; i++) {
|
|
|
if (i2c->irq) {
|
|
|
- ret = wait_for_completion_timeout(&fll->lock,
|
|
|
- msecs_to_jiffies(25));
|
|
|
- if (ret > 0)
|
|
|
+ time_left = wait_for_completion_timeout(&fll->lock,
|
|
|
+ msecs_to_jiffies(25));
|
|
|
+ if (time_left > 0)
|
|
|
break;
|
|
|
} else {
|
|
|
msleep(1);
|