Documentation/timers/timers-howto.txt says:

"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)."

So replace msleep(2) by usleep_range(2000, 3000).

Reported-by: Hans Verkuil <hansv...@cisco.com>
Cc: Matt Ranostay <matt.ranos...@konsulko.com>
Cc: Sakari Ailus <sakari.ai...@linux.intel.com>
Cc: Hans Verkuil <hansv...@cisco.com>
Cc: Mauro Carvalho Chehab <mche...@kernel.org>
Signed-off-by: Akinobu Mita <akinobu.m...@gmail.com>
---
This fixes "[PATCH v4 6/6] media: video-i2c: support runtime PM" in the
patchset "[PATCH v4 0/6] media: video-i2c: support changing frame interval
and runtime PM".

 drivers/media/i2c/video-i2c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/i2c/video-i2c.c b/drivers/media/i2c/video-i2c.c
index 0c82131..77080d7 100644
--- a/drivers/media/i2c/video-i2c.c
+++ b/drivers/media/i2c/video-i2c.c
@@ -155,7 +155,7 @@ static int amg88xx_set_power_on(struct video_i2c_data *data)
        if (ret)
                return ret;
 
-       msleep(2);
+       usleep_range(2000, 3000);
 
        ret = regmap_write(data->regmap, AMG88XX_REG_RST, AMG88XX_RST_FLAG);
        if (ret)
-- 
2.7.4

Reply via email to