[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20081003022638.788307fd.akpm@linux-foundation.org>
Date: Fri, 3 Oct 2008 02:26:38 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Haavard Skinnemoen <haavard.skinnemoen@...el.com>
Cc: dan.j.williams@...el.com, maciej.sosnowski@...el.com,
linux-kernel@...r.kernel.org,
Nicolas Ferre <nicolas.ferre@...el.com>
Subject: Re: [PATCH] dw_dmac: Fix copy/paste bug in tasklet
On Tue, 30 Sep 2008 16:27:59 +0200 Haavard Skinnemoen <haavard.skinnemoen@...el.com> wrote:
> The tasklet checks RAW.BLOCK twice, and does not check RAW.XFER. This is
> obviously wrong, and could theoretically cause the driver to hang.
>
> Reported-by: Nicolas Ferre <nicolas.ferre@...el.com>
> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@...el.com>
> ---
> drivers/dma/dw_dmac.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
> index 94df917..0778d99 100644
> --- a/drivers/dma/dw_dmac.c
> +++ b/drivers/dma/dw_dmac.c
> @@ -364,7 +364,7 @@ static void dw_dma_tasklet(unsigned long data)
> int i;
>
> status_block = dma_readl(dw, RAW.BLOCK);
> - status_xfer = dma_readl(dw, RAW.BLOCK);
> + status_xfer = dma_readl(dw, RAW.XFER);
> status_err = dma_readl(dw, RAW.ERROR);
>
> dev_vdbg(dw->dma.dev, "tasklet: status_block=%x status_err=%x\n",
We haven't heard from Dan for a week and this still wasn't in his tree
yesterday.
I think I'll cheerily send it in to Linus for 2.6.27.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists