summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-03-01 20:11:58 +0100
committerSamuel Ortiz <samuel@sortiz.org>2009-04-05 00:32:24 +0200
commitf3df0b7533ccad7bb3ef25383fea9c990b0033a2 (patch)
treefcf1bd6c65836b115dde16ac2afd53d763fc03f4 /drivers/mfd
parent3446d4bb93b4d8c7c5b667dd0271669f012fb166 (diff)
downloadlinux-f3df0b7533ccad7bb3ef25383fea9c990b0033a2.tar.gz
linux-f3df0b7533ccad7bb3ef25383fea9c990b0033a2.tar.bz2
linux-f3df0b7533ccad7bb3ef25383fea9c990b0033a2.zip
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')
-rw-r--r--drivers/mfd/wm8350-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c
index a285cc0cc704..c2be3088e2e1 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);