From 1a06593e1b60a84b2bf3fdbe167a68b3890482a1 Mon Sep 17 00:00:00 2001 From: Todd Poynor Date: Tue, 11 Oct 2011 17:20:38 -0700 Subject: mfd: twl6030 madc: Avoid early conversion timeout on long sleep Change-Id: Ie7555a4859104e9398213e2693fa7edf0609007f Signed-off-by: Todd Poynor --- drivers/mfd/twl6030-madc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'drivers/mfd') diff --git a/drivers/mfd/twl6030-madc.c b/drivers/mfd/twl6030-madc.c index 953b42d..b748870 100644 --- a/drivers/mfd/twl6030-madc.c +++ b/drivers/mfd/twl6030-madc.c @@ -121,8 +121,12 @@ static int twl6030_madc_wait_conversion_ready(struct twl6030_madc_data *madc, } if (!(reg & TWL6030_MADC_BUSY) && (reg & TWL6030_MADC_EOCP1)) return 0; + + if (time_after(jiffies, timeout)) + break; + usleep_range(500, 2000); - } while (!time_after(jiffies, timeout)); + } while (1); dev_err(madc->dev, "conversion timeout, ctrl_px=0x%08x\n", reg); return -EAGAIN; -- cgit v1.1