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@xxxxxxxxx> --- 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