media: atmel: atmel-isi: fix timeout value for stop streaming
[ Upstream commit623fd246bb
] 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:195ebc43bf
("[media] V4L: at91: add Atmel Image Sensor Interface (ISI) support") Signed-off-by: Alexandre Kroupski <alexandre.kroupski@ingenico.com> Reviewed-by: Eugen Hristev <eugen.hristev@microchip.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
9878718005
commit
4cd97e29c3
|
@ -496,7 +496,7 @@ static void stop_streaming(struct vb2_queue *vq)
|
||||||
spin_unlock_irq(&isi->irqlock);
|
spin_unlock_irq(&isi->irqlock);
|
||||||
|
|
||||||
if (!isi->enable_preview_path) {
|
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. */
|
/* Wait until the end of the current frame. */
|
||||||
while ((isi_readl(isi, ISI_STATUS) & ISI_CTRL_CDC) &&
|
while ((isi_readl(isi, ISI_STATUS) & ISI_CTRL_CDC) &&
|
||||||
time_before(jiffies, timeout))
|
time_before(jiffies, timeout))
|
||||||
|
|
Loading…
Reference in New Issue