On 22.05.24 08:15, Jonas Richardsen wrote: > 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> Good catch. I think this should go into master: Reviewed-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> This unearths some further improvement opportunities. See the series I just Cc'd you on. Thanks, Ahmad > --- > 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; > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |