mmc: sdhci: cleanup DMA un-mapping
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 26 Jan 2016 13:40:42 +0000 (13:40 +0000)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 29 Feb 2016 10:03:22 +0000 (11:03 +0100)
The patch "mmc: sdhci: plug DMA mapping leak on error" added
un-mapping logic to sdhci_tasklet_finish() where it is always
called, thereby preventing the mapping leaking.

Consequently the un-mapping code in sdhci_finish_data() is no
longer needed.  Remove it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[ Split from original "mmc: sdhci: plug DMA mapping leak on error" patch ]
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci.c

index 16e8db0..082c2f9 100644 (file)
@@ -911,17 +911,9 @@ static void sdhci_finish_data(struct sdhci_host *host)
        data = host->data;
        host->data = NULL;
 
-       if (host->flags & SDHCI_REQ_USE_DMA) {
-               if (host->flags & SDHCI_USE_ADMA)
-                       sdhci_adma_table_post(host, data);
-
-               if (data->host_cookie == COOKIE_MAPPED) {
-                       dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
-                                    (data->flags & MMC_DATA_READ) ?
-                                    DMA_FROM_DEVICE : DMA_TO_DEVICE);
-                       data->host_cookie = COOKIE_UNMAPPED;
-               }
-       }
+       if ((host->flags & (SDHCI_REQ_USE_DMA | SDHCI_USE_ADMA)) ==
+           (SDHCI_REQ_USE_DMA | SDHCI_USE_ADMA))
+               sdhci_adma_table_post(host, data);
 
        /*
         * The specification states that the block count register must