Hello.
On 08/04/2013 06:10 PM, Sergei Shtylyov wrote:
I'm testing SH-Mobile SDHI driver in DMA mode with a new DMA controller
using
'bonnie++' and getting DMA error after which the tmio_mmc_dma.c code falls
back
to PIO but all commands time out after that. It turned out that the fallback
code calls tmio_mmc_enable_dma() with RX/TX channels already freed and
pointers
to them cleared, so that the function bails out early instead of clearing the
DMA bit in the CTL_DMA_ENABLE register. The regression was introduced by
commit
162f43e31c5a376ec16336e5d0ac973373d54c89 (mmc: tmio: fix a deadlock).
Moving tmio_mmc_enable_dma() calls to the top of the PIO fallback code in
tmio_mmc_start_dma_{rx|tx}() helps.
Signed-off-by: Sergei Shtylyov <[email protected]>
Cc: [email protected] # 3.1+
Acked-by: Guennadi Liakhovetski <[email protected]>
Not sure though how far back in stable this really has to go. We don't
have any real-life problem reports with older kernels, do we?
If we did, that error would have been fixed earlier, wouldn't it?
I think
approach to which patches should get into stable changed recently.
Haven't heard about that (or seen any change in the policy). The issue
with this bug is its catastrophic consequencies: you can hardly ^C or ^Z out
of 'bonnie++' when it happens (in fact, you cannot ^C at all). IIRC you can't
even kill it from another shell.
Yeah, and the filesystem is seriously corrupt after this (I've tested only
on VFAT so far).
Thanks
Guennadi
WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html