diff options
author | Pankaj Dubey <pankaj.dubey@samsung.com> | 2015-11-13 14:59:36 +0530 |
---|---|---|
committer | Krzysztof Kozlowski <k.kozlowski@samsung.com> | 2015-11-17 13:32:56 +0900 |
commit | ce36f6ad862fc3bc2466c89de17694e582a778b5 (patch) | |
tree | 4d46f511e6b7db8c625b611e9640d3276b2ec0bd /arch/arm/mach-exynos | |
parent | 8005c49d9aea74d382f474ce11afbbc7d7130bec (diff) | |
download | blackbird-op-linux-ce36f6ad862fc3bc2466c89de17694e582a778b5.tar.gz blackbird-op-linux-ce36f6ad862fc3bc2466c89de17694e582a778b5.zip |
ARM: EXYNOS: Fix potential NULL pointer access in exynos_sys_powerdown_conf
If no platform devices binded to the driver but driver itself loaded and
exynos_sys_powerdown_conf is called from
arch/arm/mach-exynos/{suspend.c, pm.c} it will result in NULL pointer access,
to prevent this added check on pmu_context for NULL.
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos')
-rw-r--r-- | arch/arm/mach-exynos/pmu.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c index de68938ee6aa..c21e41dad19c 100644 --- a/arch/arm/mach-exynos/pmu.c +++ b/arch/arm/mach-exynos/pmu.c @@ -748,8 +748,12 @@ static void exynos5_powerdown_conf(enum sys_powerdown mode) void exynos_sys_powerdown_conf(enum sys_powerdown mode) { unsigned int i; + const struct exynos_pmu_data *pmu_data; + + if (!pmu_context) + return; - const struct exynos_pmu_data *pmu_data = pmu_context->pmu_data; + pmu_data = pmu_context->pmu_data; if (pmu_data->powerdown_conf) pmu_data->powerdown_conf(mode); |