summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnant Goel <anantg@codeaurora.org>2018-07-31 14:40:26 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-08-09 18:46:11 -0700
commitcdd6ec91e1c2521fb04c09f2b556e5a5d95996bd (patch)
treed0940ef38ae40ad5d3edb5246bfb4b7f84f83421
parenta829ffa67368b66eaf852ca6deb0d2aea9bcc7b5 (diff)
soc: qcom: pil: Remove a register read as it causes an unclocked access
A read of a register during the software fatal error handling is removed. This read causes an unclocked access which prevents the modem subsystem from succssfully restarting. Change-Id: I8338830573e55af2e5c9d0f688756d975a3302af Signed-off-by: Anant Goel <anantg@codeaurora.org>
-rw-r--r--drivers/soc/qcom/pil-q6v5-mss.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/soc/qcom/pil-q6v5-mss.c b/drivers/soc/qcom/pil-q6v5-mss.c
index 1177cac25ffa..c4c64409cfda 100644
--- a/drivers/soc/qcom/pil-q6v5-mss.c
+++ b/drivers/soc/qcom/pil-q6v5-mss.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-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
@@ -41,7 +41,6 @@
#define PROXY_TIMEOUT_MS 10000
#define MAX_SSR_REASON_LEN 130U
#define STOP_ACK_TIMEOUT_MS 1000
-#define QDSP6SS_NMI_STATUS 0x44
#define subsys_to_drv(d) container_of(d, struct modem_data, subsys_desc)
@@ -78,17 +77,11 @@ static void restart_modem(struct modem_data *drv)
static irqreturn_t modem_err_fatal_intr_handler(int irq, void *dev_id)
{
struct modem_data *drv = subsys_to_drv(dev_id);
- u32 nmi_status = readl_relaxed(drv->q6->reg_base + QDSP6SS_NMI_STATUS);
/* Ignore if we're the one that set the force stop GPIO */
if (drv->crash_shutdown)
return IRQ_HANDLED;
- if (nmi_status & 0x04)
- pr_err("%s: Fatal error on the modem due to TZ NMI\n",
- __func__);
- else
- pr_err("%s: Fatal error on the modem\n", __func__);
subsys_set_crash_status(drv->subsys, CRASH_STATUS_ERR_FATAL);
restart_modem(drv);
return IRQ_HANDLED;