• Jon Hunter's avatar
    soc/tegra: pmc: Don't populate SoC data until register space is mapped · 718a2426
    Jon Hunter authored
    The public functions exported by the PMC driver use the presence of the
    SoC data pointer to determine if the PMC device is configured and the
    registers can be accessed. However, the SoC data is populated before the
    PMC register space is mapped and this opens a window where the SoC data
    pointer is valid but the register space has not yet been mapped which
    could lead to a crash. Furthermore, if the mapping of the PMC register
    space fails, then the SoC data pointer is not cleared and so would
    expose a larger window where a crash could occur.
    
    Fix this by initialising the SoC data pointer after the PMC register
    space has been mapped.
    Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    718a2426
pmc.c 36 KB