diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-03-01 20:11:58 +0100 |
---|---|---|
committer | Samuel Ortiz <samuel@sortiz.org> | 2009-04-05 00:32:24 +0200 |
commit | f3df0b7533ccad7bb3ef25383fea9c990b0033a2 (patch) | |
tree | fcf1bd6c65836b115dde16ac2afd53d763fc03f4 /drivers/mfd/wm8350-core.c | |
parent | 3446d4bb93b4d8c7c5b667dd0271669f012fb166 (diff) |
mfd: Use the value of the final spin when reading the AUXADC
Reverse the order of the tests for loop exit so we use a valid value
before we time out. Vanishingly unlikely to happen since we retry for
several times the expected conversion time.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
Diffstat (limited to 'drivers/mfd/wm8350-core.c')
-rw-r--r-- | drivers/mfd/wm8350-core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c index a285cc0cc70..c2be3088e2e 100644 --- a/drivers/mfd/wm8350-core.c +++ b/drivers/mfd/wm8350-core.c @@ -1111,7 +1111,7 @@ int wm8350_read_auxadc(struct wm8350 *wm8350, int channel, int scale, int vref) do { schedule_timeout_interruptible(1); reg = wm8350_reg_read(wm8350, WM8350_DIGITISER_CONTROL_1); - } while (--tries && (reg & WM8350_AUXADC_POLL)); + } while ((reg & WM8350_AUXADC_POLL) && --tries); if (!tries) dev_err(wm8350->dev, "adc chn %d read timeout\n", channel); |