Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdd6ec91 authored by Anant Goel's avatar Anant Goel Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarAnant Goel <anantg@codeaurora.org>
parent a829ffa6
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
/*
 * 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;