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>
This commit is contained in:
Mark Brown 2009-03-01 20:11:58 +01:00 committed by Samuel Ortiz
parent 3446d4bb93
commit f3df0b7533

View File

@ -1111,7 +1111,7 @@ int wm8350_read_auxadc(struct wm8350 *wm8350, int channel, int scale, int vref)
do { do {
schedule_timeout_interruptible(1); schedule_timeout_interruptible(1);
reg = wm8350_reg_read(wm8350, WM8350_DIGITISER_CONTROL_1); reg = wm8350_reg_read(wm8350, WM8350_DIGITISER_CONTROL_1);
} while (--tries && (reg & WM8350_AUXADC_POLL)); } while ((reg & WM8350_AUXADC_POLL) && --tries);
if (!tries) if (!tries)
dev_err(wm8350->dev, "adc chn %d read timeout\n", channel); dev_err(wm8350->dev, "adc chn %d read timeout\n", channel);