diff options
author | Lukas Wunner <[email protected]> | 2019-01-19 16:31:00 +0100 |
---|---|---|
committer | Ulf Hansson <[email protected]> | 2019-01-28 12:43:19 +0100 |
commit | 8c9620b1cc9b69e82fa8d4081d646d0016b602e7 (patch) | |
tree | 65f7ee4ffcee8d26a354f203cffbb677c01eb67b | |
parent | f17b5f06cb92ef2250513a1e154c47b78df07d40 (diff) |
mmc: bcm2835: Fix DMA channel leak on probe error
The BCM2835 MMC host driver requests a DMA channel on probe but neglects
to release the channel in the probe error path. The channel may
therefore be leaked, in particular if devm_clk_get() causes probe
deferral. Fix it.
Fixes: 660fc733bd74 ("mmc: bcm2835: Add new driver for the sdhost controller.")
Signed-off-by: Lukas Wunner <[email protected]>
Cc: [email protected] # v4.12+
Cc: Frank Pavlic <[email protected]>
Tested-by: Stefan Wahren <[email protected]>
Signed-off-by: Ulf Hansson <[email protected]>
-rw-r--r-- | drivers/mmc/host/bcm2835.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c index 50293529d6de..c9e7aa50bb0a 100644 --- a/drivers/mmc/host/bcm2835.c +++ b/drivers/mmc/host/bcm2835.c @@ -1431,6 +1431,8 @@ static int bcm2835_probe(struct platform_device *pdev) err: dev_dbg(dev, "%s -> err %d\n", __func__, ret); + if (host->dma_chan_rxtx) + dma_release_channel(host->dma_chan_rxtx); mmc_free_host(mmc); return ret; |