aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0388-bcm2835-mmc-Fix-DMA-channel-leak.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0388-bcm2835-mmc-Fix-DMA-channel-leak.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0388-bcm2835-mmc-Fix-DMA-channel-leak.patch42
1 files changed, 0 insertions, 42 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0388-bcm2835-mmc-Fix-DMA-channel-leak.patch b/target/linux/brcm2708/patches-4.19/950-0388-bcm2835-mmc-Fix-DMA-channel-leak.patch
deleted file mode 100644
index b61b81418a..0000000000
--- a/target/linux/brcm2708/patches-4.19/950-0388-bcm2835-mmc-Fix-DMA-channel-leak.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 94a6414f6aaef2575eeb36149d65c79c13b85922 Mon Sep 17 00:00:00 2001
-From: Lukas Wunner <lukas@wunner.de>
-Date: Wed, 16 Jan 2019 12:22:32 +0100
-Subject: [PATCH 388/703] bcm2835-mmc: Fix DMA channel leak
-
-The BCM2835 MMC host driver requests a DMA channel on probe but neglects
-to release the channel in the probe error path and on driver unbind.
-
-I'm seeing this happen on every boot of the Compute Module 3: On first
-driver probe, DMA channel 2 is allocated and then leaked with a "could
-not get clk, deferring probe" message. On second driver probe, channel 4
-is allocated.
-
-Fix it.
-
-Signed-off-by: Lukas Wunner <lukas@wunner.de>
-Cc: Frank Pavlic <f.pavlic@kunbus.de>
----
- drivers/mmc/host/bcm2835-mmc.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/drivers/mmc/host/bcm2835-mmc.c
-+++ b/drivers/mmc/host/bcm2835-mmc.c
-@@ -1503,6 +1503,8 @@ static int bcm2835_mmc_probe(struct plat
-
- return 0;
- err:
-+ if (host->dma_chan_rxtx)
-+ dma_release_channel(host->dma_chan_rxtx);
- mmc_free_host(mmc);
-
- return ret;
-@@ -1548,6 +1550,9 @@ static int bcm2835_mmc_remove(struct pla
-
- tasklet_kill(&host->finish_tasklet);
-
-+ if (host->dma_chan_rxtx)
-+ dma_release_channel(host->dma_chan_rxtx);
-+
- mmc_free_host(host->mmc);
- platform_set_drvdata(pdev, NULL);
-