Re: [PATCH] mci: bcm2835: Set mci host for sdhci
On Wed, 22 May 2024 08:15:27 +0200, 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. > > [...] Applied, thanks! [1/1] mci: bcm2835: Set mci host for sdhci https://git.pengutronix.de/cgit/barebox/commit/?id=5d74c69b3279 (link may not be stable) Best regards, -- Sascha Hauer
Re: [PATCH] mci: bcm2835: Set mci host for sdhci
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 Good catch. I think this should go into master: Reviewed-by: Ahmad Fatoum 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- |
[PATCH] mci: bcm2835: Set mci host for sdhci
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 --- 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