msleep(1~20) may not do what the caller intends, and will often sleep longer. (~20 ms actual sleep for any value given in the 1~20ms range) This is not the desired behaviour for many cases like device resume time, device suspend time, device enable time, retry logic, etc. Thus, change msleep to usleep_range for precise wakeups. Signed-off-by: Aniroop Mathur <a.mathur@xxxxxxxxxxx> --- drivers/input/touchscreen/zylonite-wm97xx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/input/touchscreen/zylonite-wm97xx.c b/drivers/input/touchscreen/zylonite-wm97xx.c index e2ccd68..cebd3a8 100644 --- a/drivers/input/touchscreen/zylonite-wm97xx.c +++ b/drivers/input/touchscreen/zylonite-wm97xx.c @@ -81,7 +81,7 @@ static void wm97xx_acc_pen_up(struct wm97xx *wm) { int i; - msleep(1); + usleep_range(1000, 1100); for (i = 0; i < 16; i++) MODR; @@ -98,7 +98,7 @@ static int wm97xx_acc_pen_down(struct wm97xx *wm) * for samples. The controller can't have a suitably low * threshold set to use the notifications it gives. */ - msleep(1); + usleep_range(1000, 1100); if (tries > 5) { tries = 0; -- 2.6.2 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html