diff mbox series

[U-Boot,4/7] mmc: pci: fix uninitialized pointer deref on probe

Message ID 20190806030314.16520-4-peng.fan@nxp.com
State Accepted
Commit a5abe152b23ef9a07ffd14c3db655c6481a7f84f
Delegated to: Peng Fan
Headers show
Series [U-Boot,1/7] mmc: atmel_sdhci: fix uninitialized pointer deref on probe | expand

Commit Message

Peng Fan Aug. 6, 2019, 2:47 a.m. UTC
Commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field.

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/mmc/pci_mmc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Simon Glass Aug. 13, 2019, 9:34 a.m. UTC | #1
On Mon, 5 Aug 2019 at 20:48, Peng Fan <peng.fan@nxp.com> wrote:
>
> Commit 3d296365e4e8 ("mmc: sdhci: Add support for
> sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
> field.
>
> Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
> Cc: Faiz Abbas <faiz_abbas@ti.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Bin Meng <bmeng.cn@gmail.com>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/mmc/pci_mmc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

>
> diff --git a/drivers/mmc/pci_mmc.c b/drivers/mmc/pci_mmc.c
> index 182d41637f..404264a697 100644
> --- a/drivers/mmc/pci_mmc.c
> +++ b/drivers/mmc/pci_mmc.c
> @@ -33,12 +33,12 @@ static int pci_mmc_probe(struct udevice *dev)
>         host->ioaddr = (void *)dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0,
>                                               PCI_REGION_MEM);
>         host->name = dev->name;
> +       host->mmc = &plat->mmc;
> +       host->mmc->dev = dev;

How about putting through three lines in a common function in
mmc-uclass.c (with args 'host', dev and play) since they appear in a
lot of drivers.

Regards,
Simon
diff mbox series

Patch

diff --git a/drivers/mmc/pci_mmc.c b/drivers/mmc/pci_mmc.c
index 182d41637f..404264a697 100644
--- a/drivers/mmc/pci_mmc.c
+++ b/drivers/mmc/pci_mmc.c
@@ -33,12 +33,12 @@  static int pci_mmc_probe(struct udevice *dev)
 	host->ioaddr = (void *)dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0,
 					      PCI_REGION_MEM);
 	host->name = dev->name;
+	host->mmc = &plat->mmc;
+	host->mmc->dev = dev;
 	ret = sdhci_setup_cfg(&plat->cfg, host, 0, 0);
 	if (ret)
 		return ret;
-	host->mmc = &plat->mmc;
 	host->mmc->priv = &priv->host;
-	host->mmc->dev = dev;
 	upriv->mmc = host->mmc;
 
 	return sdhci_probe(dev);