No need for a high-accuracy delay here as long as it is more than 2 milliseconds this should be ok - as it is non-atomic context it will be not be precise 2 milliseconds so giving the hrtimer subsystem 50 microseconds to merge timers and reduce interrupts. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxxxx> --- Problem located by an experimental coccinelle script V2: As Sakari Ailus <sakari.ailus@xxxxxx> noted that the delays would be noticeable for the user but a range in the 50 microseconds range would be acceptable - the range is reduced from 2 millisecond to 50 microseconds which still gives the hrtimer subsystem some room for reducing interrupt load. Patch was compile tested with: x86_64_defconfig + MEDIA_SUPPORT=m, MEDIA_CAMERA_SUPPORT=y, MEDIA_CONTROLLER=y, VIDEO_V4L2_SUBDEV_API=y, VIDEO_SMIAPP=m Patch is against 5.1 (localversion-next is next-20190508) drivers/media/i2c/smiapp/smiapp-quirk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/i2c/smiapp/smiapp-quirk.c b/drivers/media/i2c/smiapp/smiapp-quirk.c index 95c0272..59cb2a5 100644 --- a/drivers/media/i2c/smiapp/smiapp-quirk.c +++ b/drivers/media/i2c/smiapp/smiapp-quirk.c @@ -202,7 +202,7 @@ static int jt8ev1_post_streamoff(struct smiapp_sensor *sensor) return rval; /* Wait for 1 ms + one line => 2 ms is likely enough */ - usleep_range(2000, 2000); + usleep_range(2000, 2050); /* Restore it */ rval = smiapp_write_8(sensor, 0x3205, 0x00); -- 2.1.4