diff options
| author | Arun Kumar Neelakantam <aneela@codeaurora.org> | 2017-11-17 16:31:50 +0530 |
|---|---|---|
| committer | Arun Kumar Neelakantam <aneela@codeaurora.org> | 2018-06-22 15:30:26 +0530 |
| commit | 44154c0e0333423beecf818bf90da42ca327f20e (patch) | |
| tree | ac6b4962d7229422ead1c0c5cabd136bd64fa31c /drivers | |
| parent | 318dc882ca4897e15d59abe29a45d567821f554a (diff) | |
soc: qcom: smem: Add secure device check for smem dump
In peripheral SSR case SMEM dump is collected and stored which
is not expected on secude devices.
Add a check and avoid dumping SMEM on secure device.
CRs-Fixed: 2264360
Change-Id: I2895aeb86d97b45dcb3ea293aa79a06174b8ac0b
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/soc/qcom/msm_smem.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/soc/qcom/msm_smem.c b/drivers/soc/qcom/msm_smem.c index a94f741c2056..cf3e0e084ab4 100644 --- a/drivers/soc/qcom/msm_smem.c +++ b/drivers/soc/qcom/msm_smem.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -26,6 +26,7 @@ #include <soc/qcom/subsystem_notif.h> #include <soc/qcom/subsystem_restart.h> #include <soc/qcom/ramdump.h> +#include <soc/qcom/scm.h> #include <soc/qcom/smem.h> @@ -1085,12 +1086,15 @@ static __init int modem_restart_late_init(void) void *handle; struct restart_notifier_block *nb; - if (smem_dev) - smem_ramdump_dev = create_ramdump_device("smem", smem_dev); - if (IS_ERR_OR_NULL(smem_ramdump_dev)) { - LOG_ERR("%s: Unable to create smem ramdump device.\n", - __func__); - smem_ramdump_dev = NULL; + if (scm_is_secure_device()) { + if (smem_dev) + smem_ramdump_dev = create_ramdump_device("smem", + smem_dev); + if (IS_ERR_OR_NULL(smem_ramdump_dev)) { + LOG_ERR("%s: Unable to create smem ramdump device.\n", + __func__); + smem_ramdump_dev = NULL; + } } for (i = 0; i < ARRAY_SIZE(restart_notifiers); i++) { |
