Commit 623fd246 authored by Alexandre Kroupski's avatar Alexandre Kroupski Committed by Mauro Carvalho Chehab

media: atmel: atmel-isi: fix timeout value for stop streaming

In case of sensor malfunction, stop streaming timeout takes much longer
than expected. This is due to conversion of time to jiffies: milliseconds
multiplied with HZ (ticks/second) gives out a value of jiffies with 10^3
greater. We need to also divide by 10^3 to obtain the right jiffies value.
In other words FRAME_INTERVAL_MILLI_SEC must be in seconds in order to
multiply by HZ and get the right jiffies value to add to the current
jiffies for the timeout expire time.

Fixes: 195ebc43 ("[media] V4L: at91: add Atmel Image Sensor Interface (ISI) support")
Signed-off-by: default avatarAlexandre Kroupski <alexandre.kroupski@ingenico.com>
Reviewed-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 01faced6
......@@ -493,7 +493,7 @@ static void stop_streaming(struct vb2_queue *vq)
spin_unlock_irq(&isi->irqlock);
if (!isi->enable_preview_path) {
timeout = jiffies + FRAME_INTERVAL_MILLI_SEC * HZ;
timeout = jiffies + (FRAME_INTERVAL_MILLI_SEC * HZ) / 1000;
/* Wait until the end of the current frame. */
while ((isi_readl(isi, ISI_STATUS) & ISI_CTRL_CDC) &&
time_before(jiffies, timeout))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment