[PATCH] mci: bcm2835: Set mci host for sdhci
Jonas Richardsen
jonasrichardsen at emlix.com
Tue May 21 23:15:27 PDT 2024
The pointer `sdhci.mci` is currently not being set for the bcm2835. This
leads to a null pointer dereference for example in `sdhci_wait_idle()`
if the `sdhci_read` function fails or times out.
Set the pointer within the `bcm2835_mci_probe` function. This is
analogous to the behaviour seen in `arasan_sdhci_probe`,
`fsl_esdhc_probe`, `rk_sdhci_probe` and other, similar functions.
Signed-off-by: Jonas Richardsen <jonasrichardsen at emlix.com>
---
drivers/mci/mci-bcm2835.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mci/mci-bcm2835.c b/drivers/mci/mci-bcm2835.c
index 3546cc3a32..7fcf4f905b 100644
--- a/drivers/mci/mci-bcm2835.c
+++ b/drivers/mci/mci-bcm2835.c
@@ -382,6 +382,7 @@ static int bcm2835_mci_probe(struct device *hw_dev)
host->hw_dev = hw_dev;
host->max_clock = clk_get_rate(clk);
+ host->sdhci.mci = &host->mci;
host->sdhci.read32 = bcm2835_sdhci_read32;
host->sdhci.write32 = bcm2835_sdhci_write32;
--
2.42.0
More information about the barebox
mailing list