FAILED: patch "[PATCH] mmc: renesas_sdhi_internal_dmac: Fix missing unmap in error" failed to apply to 4.17-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.17-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
fe6e04941aa12479a1a58656362bec74100bf7d7Mon Sep 17 00:00:00 2001
From: Yoshihiro Shimoda <[email protected]>
Date: Fri, 29 Jun 2018 19:01:44 +0900
Subject: [PATCH] mmc: renesas_sdhi_internal_dmac: Fix missing unmap in error
patch
This patch fixes an issue that lacks the dma_unmap_sg() calling in the error patch of renesas_sdhi_internal_dmac_start_dma().
Fixes 0cbc94daa554 ("mmc: renesas_sdhi_internal_dmac: limit DMA RX for old SoCs")
Cc <[email protected]> # v4.17+
Signed-off-by Yoshihiro Shimoda <[email protected]>
Reviewed-by Geert Uytterhoeven <[email protected]>
Reviewed-by Simon Horman <[email protected]>
Signed-off-by Ulf Hansson <[email protected]>
drivers/mmc/host/renesas_sdhi_internal_dmac.c +6 -6
@@ -164,17 +164,14 @@ renesas_sdhi_internal_dmac_start_dma(struct tmio_mmc_host *host, goto force_pio;/* This DMAC cannot handle if buffer is not 8-bytes alignment */ -if (!IS_ALIGNED (sg_dma_address (sg),8 )) { -dma_unmap_sg (&host->pdev->dev, sg, host->sg_len, -mmc_get_dma_dir (data)); - goto force_pio; - } +if (!IS_ALIGNED (sg_dma_address (sg),8 )) + goto force_pio_with_unmap;if (data->flags &MMC_DATA_READ ) { dtran_mode |=DTRAN_MODE_CH_NUM_CH1 ;if (test_bit (SDHI_INTERNAL_DMAC_ONE_RX_ONLY , &global_flags) &&test_and_set_bit (SDHI_INTERNAL_DMAC_RX_IN_USE , &global_flags)) - goto force_pio; + goto force_pio_with_unmap; }else { dtran_mode |=DTRAN_MODE_CH_NUM_CH0 ; }
@@ -189,6 +186,9 @@ renesas_sdhi_internal_dmac_start_dma(struct tmio_mmc_host *host,return ; +force_pio_with_unmap: +dma_unmap_sg (&host->pdev->dev, sg, host->sg_len,mmc_get_dma_dir (data)); + force_pio: host->force_pio = true;renesas_sdhi_internal_dmac_enable_dma (host, false);