Re: [PATCH v2] tmio_mmc_dma: fix PIO fallback on SDHI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 3.1+

Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>

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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux