[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081116000508.GE9161@fluff.org.uk>
Date: Sun, 16 Nov 2008 00:05:08 +0000
From: Ben Dooks <ben-linux@...ff.org>
To: Pierre Ossman <drzeus-mmc@...eus.cx>
Cc: Ben Dooks <ben-linux@...ff.org>, linux-kernel@...r.kernel.org,
sdhci-devel@...t.drzeus.cx
Subject: Re: [patch 6/7] SDHCI: Check DMA for overruns at end of transfer
On Fri, Nov 14, 2008 at 11:00:26PM +0100, Pierre Ossman wrote:
> On Mon, 03 Nov 2008 20:09:50 +0000
> Ben Dooks <ben-linux@...ff.org> wrote:
>
> > At the end of a transfer, check that the DMA engine in the
> > SDHCI controller actually did what it was meant to and didn't
> > overrun the end of the buffer.
> >
> > This seems to be triggered by a timeout during an CMD25 (multiple block
> > write) to a card. The mmc_block module then issues a command to find out
> > how much data was moved and this seems to end up triggering this DMA
> > check. The result is the card's queue generates an OOPS as the stack has
> > been trampled on due to the extra data transfered.
> >
> > Signed-off-by: Ben Dooks <ben-linux@...ff.org>
>
> I'm sorry, but I don't see how this is anywhere near acceptable. This
> should be a panic at the very least, and until this can be sorted out
> and avoided the driver should avoid using DMA on these chips.
A panic won't help get the debug logs out of the kernel. This only
turned up whilst debugging the controller, I got the timeout clock
calculation wrong and thus ended up timing out pretty much all the
CMD25s and seeing this problem.
--
Ben (ben@...ff.org, http://www.fluff.org/)
'a smiley only costs 4 bytes'
--
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