Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754974Ab2BCIhw (ORCPT ); Fri, 3 Feb 2012 03:37:52 -0500 Received: from mail-ww0-f42.google.com ([74.125.82.42]:46119 "EHLO mail-ww0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754845Ab2BCIhu (ORCPT ); Fri, 3 Feb 2012 03:37:50 -0500 MIME-Version: 1.0 Date: Fri, 3 Feb 2012 09:37:48 +0100 Message-ID: Subject: [dmaengine] [Q] jiffies value does not increase in dma_sync_wait() From: javier Martin To: linux-kernel@vger.kernel.org Cc: Vinod Koul , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1233 Lines: 35 Hi, I have a Visstrim_M10 board, based on i.MX27, and I'm developing a v4l2 driver for deinterlacing video frames. Whenever I start a new dma transfer I call the function "dma_wait_for_async_tx()" which internally ends up calling "dma_sync_wait()": http://lxr.linux.no/#linux+v3.2.2/drivers/dma/dmaengine.c#L255 In this function, there is a "do while" loop, which checks for dma completion, with a timeout. However, when the system is too loaded this function enters this "do while" loop and never gets out of it, blocking the system. I've introduced a couple of printk() to check why this timeout is not triggered and I've found that the value of jiffies does not increase between loop iterations (i. e. it's like time didn't advance). Does anyobody know what reasons could make jiffies not being updated? Regards. -- Javier Martin Vista Silicon S.L. CDTUC - FASE C - Oficina S-345 Avda de los Castros s/n 39005- Santander. Cantabria. Spain +34 942 25 32 60 www.vista-silicon.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/