The resolution of msleep is related to HZ, so with HZ set to 100 any msleep of less then 10ms will become ~10ms. This is not what we want. Use usleep_range to get more control of what is happening here. Signed-off-by: Jens Frederich <jfrederich@xxxxxxxxx> --- drivers/staging/olpc_dcon/olpc_dcon.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/olpc_dcon/olpc_dcon.c b/drivers/staging/olpc_dcon/olpc_dcon.c index 193e1c6..7c460f2 100644 --- a/drivers/staging/olpc_dcon/olpc_dcon.c +++ b/drivers/staging/olpc_dcon/olpc_dcon.c @@ -131,13 +131,13 @@ power_up: pr_warn("unable to force dcon to power up: %d!\n", x); return x; } - msleep(10); /* we'll be conservative */ + usleep_range(10000, 11000); /* we'll be conservative */ } pdata->bus_stabilize_wiggle(); for (x = -1, timeout = 50; timeout && x < 0; timeout--) { - msleep(1); + usleep_range(1000, 1100); x = dcon_read(dcon, DCON_REG_ID); } if (x < 0) { -- 1.7.9.5 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel