2019-09-19 14:43:19 +00:00
|
|
|
From 2e2f57e09e1ace18ae01a87d9fc4378c96c54370 Mon Sep 17 00:00:00 2001
|
2019-07-09 18:32:28 +00:00
|
|
|
From: Lukas Wunner <lukas@wunner.de>
|
|
|
|
Date: Tue, 22 Jan 2019 12:29:45 +0100
|
2019-12-23 12:42:55 +00:00
|
|
|
Subject: [PATCH] bcm2835-mmc: Handle mmc_add_host() errors
|
2019-07-09 18:32:28 +00:00
|
|
|
|
|
|
|
The BCM2835 MMC host driver calls mmc_add_host() but doesn't check its
|
|
|
|
return value. Errors occurring in that function are therefore not
|
|
|
|
handled. Fix it.
|
|
|
|
|
|
|
|
Signed-off-by: Lukas Wunner <lukas@wunner.de>
|
|
|
|
Cc: Frank Pavlic <f.pavlic@kunbus.de>
|
|
|
|
---
|
|
|
|
drivers/mmc/host/bcm2835-mmc.c | 8 +++++++-
|
|
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
--- a/drivers/mmc/host/bcm2835-mmc.c
|
|
|
|
+++ b/drivers/mmc/host/bcm2835-mmc.c
|
|
|
|
@@ -1398,10 +1398,16 @@ static int bcm2835_mmc_add_host(struct b
|
|
|
|
}
|
|
|
|
|
|
|
|
mmiowb();
|
|
|
|
- mmc_add_host(mmc);
|
|
|
|
+ ret = mmc_add_host(mmc);
|
|
|
|
+ if (ret) {
|
|
|
|
+ dev_err(dev, "could not add MMC host\n");
|
|
|
|
+ goto free_irq;
|
|
|
|
+ }
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
+free_irq:
|
|
|
|
+ free_irq(host->irq, host);
|
|
|
|
untasklet:
|
|
|
|
tasklet_kill(&host->finish_tasklet);
|
|
|
|
|