• Tony Lindgren's avatar
    mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured · 8e0e7bd3
    Tony Lindgren authored
    If sdhci-omap is configured for an unused device instance and the device
    is not set as disabled, we can get a NULL pointer dereference:
    
    Unable to handle kernel NULL pointer dereference at virtual address
    00000045
    ...
    (regulator_set_voltage) from [<c07d7008>] (mmc_regulator_set_ocr+0x44/0xd0)
    (mmc_regulator_set_ocr) from [<c07e2d80>] (sdhci_set_ios+0xa4/0x490)
    (sdhci_set_ios) from [<c07ea690>] (sdhci_omap_set_ios+0x124/0x160)
    (sdhci_omap_set_ios) from [<c07c8e94>] (mmc_power_up.part.0+0x3c/0x154)
    (mmc_power_up.part.0) from [<c07c9d20>] (mmc_start_host+0x88/0x9c)
    (mmc_start_host) from [<c07cad34>] (mmc_add_host+0x58/0x7c)
    (mmc_add_host) from [<c07e2574>] (__sdhci_add_host+0xf0/0x22c)
    (__sdhci_add_host) from [<c07eaf68>] (sdhci_omap_probe+0x318/0x72c)
    (sdhci_omap_probe) from [<c06a39d8>] (platform_probe+0x58/0xb8)
    
    AFAIK we are not seeing this with the devices configured in the mainline
    kernel but this can cause issues for folks bringing up their boards.
    
    Fixes: 7d326930 ("mmc: sdhci-omap: Add OMAP SDHCI driver")
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Link: https://lore.kernel.org/r/20210921110029.21944-2-tony@atomide.comSigned-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    8e0e7bd3
sdhci-omap.c 33 KB