msm: subsystem_restart: Don't use phase 3 SSR on the SGLTE2
This change has already been done for the SGLTE target.
See commit e4ae75ea79620e3b59859d82aa1809a256e48364. The
current patch extends the change to the SGLTE2 target.
The original commit text follows.
On the SGLTE2 platform, phase 2 SSR is required to address
the dependency between the internal and external modems. The
other subsystems (RIVA, LPASS etc) still need to do an
independent restart. In the absence of a matching restart
order, a request for a subsystem restart on a subsystem will
be treated as an independent phase-3 like restart, even if
the current restart_level is phase 2. Therefore, don't allow
phase 3 on SGLTE platforms.
Change-Id: I99469883e85f87a3b49846699c4b9d84cd385285
Signed-off-by: Joel King <joelking@codeaurora.org>
diff --git a/arch/arm/mach-msm/subsystem_restart.c b/arch/arm/mach-msm/subsystem_restart.c
index 95a5c20..f2e969a 100644
--- a/arch/arm/mach-msm/subsystem_restart.c
+++ b/arch/arm/mach-msm/subsystem_restart.c
@@ -147,6 +147,7 @@
{
int ret;
int old_val = restart_level;
+ int subtype;
if (cpu_is_msm9615()) {
pr_err("Only Phase 1 subsystem restart is supported\n");
@@ -159,7 +160,9 @@
switch (restart_level) {
case RESET_SUBSYS_INDEPENDENT:
- if (socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_SGLTE) {
+ subtype = socinfo_get_platform_subtype();
+ if ((subtype == PLATFORM_SUBTYPE_SGLTE) ||
+ (subtype == PLATFORM_SUBTYPE_SGLTE2)) {
pr_info("Phase 3 is currently unsupported. Using phase 2 instead.\n");
restart_level = RESET_SUBSYS_COUPLED;
}