[U-Boot] [PATCH] mmc: sdhci: Check that ops are defined
Michal Simek
michal.simek at xilinx.com
Mon May 14 13:28:17 UTC 2018
On 14.5.2018 14:02, Ramon Fried wrote:
> The check is necessary to avoid NULL pointer dereference.
>
> Signed-off-by: Ramon Fried <ramon.fried at gmail.com>
> ---
> drivers/mmc/sdhci.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
> index 8971a1122c..400f87e134 100644
> --- a/drivers/mmc/sdhci.c
> +++ b/drivers/mmc/sdhci.c
> @@ -314,7 +314,7 @@ static int sdhci_execute_tuning(struct udevice *dev, uint opcode)
>
> debug("%s\n", __func__);
>
> - if (host->ops->platform_execute_tuning) {
> + if (host->ops && host->ops->platform_execute_tuning) {
> err = host->ops->platform_execute_tuning(mmc, opcode);
> if (err)
> return err;
> @@ -347,7 +347,7 @@ static int sdhci_set_clock(struct mmc *mmc, unsigned int clock)
> if (clock == 0)
> return 0;
>
> - if (host->ops->set_delay)
> + if (host->ops && host->ops->set_delay)
> host->ops->set_delay(host);
>
> if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) {
>
Reviewed-by: Michal Simek <michal.simek at xilinx.com>
Fixes: ca992e82e4e3 ("mmc: sdhci: Invoke platform specific tuning and
delay routines")
Tom: Can you please pick this directly?
Some drivers are not filling host->ops that's why access cause a hang.
Also it is kind of interesting that travis didn't show any issue.
Thanks,
Michal
More information about the U-Boot
mailing list