FAILED: patch "[PATCH] mmc: dw_mmc: fix the error handling for dma operation" failed to apply to 4.4-stable tree
[email protected]
maintainerThe patch below does not apply to the 4.4-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
647f80a1f233bb66fc58fb25664d029e0f12f3aeMon Sep 17 00:00:00 2001
From: Jaehoon Chung <[email protected]>
Date: Mon, 21 Nov 2016 10:51:48 +0900
Subject: [PATCH] mmc: dw_mmc: fix the error handling for dma operation
When dma->start is failed,then it has to fall back to PIO mode for current transfer.
But Host controller was already set to bits relevant to DMA operation. If needs to use the PIO mode, Host controller has to stop the DMA operation. (It's more stable than now.)
When it occurred error, it's not running any request.
drivers/mmc/host/dw_mmc.c +1 -0
@@ -1058,6 +1058,7 @@ static int dw_mci_submit_data_dma(struct dw_mci *host, struct mmc_data *data)spin_unlock_irqrestore (&host->irq_lock, irqflags);if (host->dma_ops->start (host, sg_len)) { + host->dma_ops->stop (host);/* We can't do DMA, try PIO for this one */ dev_dbg(host->dev, "%s: fall back to PIO mode for current transfer\n",