From: Greg Kroah-Hartman Date: Thu, 26 Sep 2013 23:38:30 +0000 (-0700) Subject: remove queue-3.0/mmc-tmio_mmc_dma-fix-pio-fallback-on-sdhi.patch X-Git-Tag: v3.0.97~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b17281352bf78074eee74c9560a083e5c706b143;p=thirdparty%2Fkernel%2Fstable-queue.git remove queue-3.0/mmc-tmio_mmc_dma-fix-pio-fallback-on-sdhi.patch --- diff --git a/queue-3.0/mmc-tmio_mmc_dma-fix-pio-fallback-on-sdhi.patch b/queue-3.0/mmc-tmio_mmc_dma-fix-pio-fallback-on-sdhi.patch deleted file mode 100644 index 647f1f0a925..00000000000 --- a/queue-3.0/mmc-tmio_mmc_dma-fix-pio-fallback-on-sdhi.patch +++ /dev/null @@ -1,62 +0,0 @@ -From f936f9b67b7f8c2eae01dd303a0e90bd777c4679 Mon Sep 17 00:00:00 2001 -From: Sergei Shtylyov -Date: Sat, 24 Aug 2013 23:38:15 -0400 -Subject: mmc: tmio_mmc_dma: fix PIO fallback on SDHI - -From: Sergei Shtylyov - -commit f936f9b67b7f8c2eae01dd303a0e90bd777c4679 upstream. - -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 -Acked-by: Guennadi Liakhovetski -Signed-off-by: Chris Ball -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/mmc/host/tmio_mmc_dma.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/mmc/host/tmio_mmc_dma.c -+++ b/drivers/mmc/host/tmio_mmc_dma.c -@@ -88,6 +88,7 @@ static void tmio_mmc_start_dma_rx(struct - pio: - if (!desc) { - /* DMA failed, fall back to PIO */ -+ tmio_mmc_enable_dma(host, false); - if (ret >= 0) - ret = -EIO; - host->chan_rx = NULL; -@@ -100,7 +101,6 @@ pio: - } - dev_warn(&host->pdev->dev, - "DMA failed: %d, falling back to PIO\n", ret); -- tmio_mmc_enable_dma(host, false); - } - - dev_dbg(&host->pdev->dev, "%s(): desc %p, cookie %d, sg[%d]\n", __func__, -@@ -169,6 +169,7 @@ static void tmio_mmc_start_dma_tx(struct - pio: - if (!desc) { - /* DMA failed, fall back to PIO */ -+ tmio_mmc_enable_dma(host, false); - if (ret >= 0) - ret = -EIO; - host->chan_tx = NULL; -@@ -181,7 +182,6 @@ pio: - } - dev_warn(&host->pdev->dev, - "DMA failed: %d, falling back to PIO\n", ret); -- tmio_mmc_enable_dma(host, false); - } - - dev_dbg(&host->pdev->dev, "%s(): desc %p, cookie %d\n", __func__, diff --git a/queue-3.0/series b/queue-3.0/series index 0c26d1c3fe4..a535bedde93 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -23,6 +23,5 @@ ocfs2-fix-the-end-cluster-offset-of-fiemap.patch memcg-fix-multiple-large-threshold-notifications.patch mm-huge_memory.c-fix-potential-null-pointer-dereference.patch isofs-refuse-rw-mount-of-the-filesystem-instead-of-making-it-ro.patch -mmc-tmio_mmc_dma-fix-pio-fallback-on-sdhi.patch fuse-postpone-end_page_writeback-in-fuse_writepage_locked.patch fuse-invalidate-inode-attributes-on-xattr-modification.patch