aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0346-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0346-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0346-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0346-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch b/target/linux/brcm2708/patches-4.19/950-0346-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch
new file mode 100644
index 0000000000..9ec4404bef
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.19/950-0346-bcm2835-mmc-Fix-struct-mmc_host-leak-on-probe.patch
@@ -0,0 +1,29 @@
+From 82ced13dc5805f6e49e2182269e672b20d8394bc Mon Sep 17 00:00:00 2001
+From: Lukas Wunner <lukas@wunner.de>
+Date: Sat, 19 Jan 2019 08:06:48 +0100
+Subject: [PATCH] bcm2835-mmc: Fix struct mmc_host leak on probe
+
+The BCM2835 MMC host driver requests the bus address of the host's
+register map on probe. If that fails, the driver leaks the struct
+mmc_host allocated earlier.
+
+Fix it.
+
+Signed-off-by: Lukas Wunner <lukas@wunner.de>
+Cc: Frank Pavlic <f.pavlic@kunbus.de>
+---
+ drivers/mmc/host/bcm2835-mmc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/mmc/host/bcm2835-mmc.c
++++ b/drivers/mmc/host/bcm2835-mmc.c
+@@ -1439,7 +1439,8 @@ static int bcm2835_mmc_probe(struct plat
+ addr = of_get_address(node, 0, NULL, NULL);
+ if (!addr) {
+ dev_err(dev, "could not get DMA-register address\n");
+- return -ENODEV;
++ ret = -ENODEV;
++ goto err;
+ }
+ host->bus_addr = be32_to_cpup(addr);
+ pr_debug(" - ioaddr %lx, iomem->start %lx, bus_addr %lx\n",