41 lines
1.3 KiB
Diff
41 lines
1.3 KiB
Diff
From 65e4130644cd535da7cabfc6309897596bddf240 Mon Sep 17 00:00:00 2001
|
|
From: Ondrej Jirman <megous@megous.com>
|
|
Date: Mon, 28 Sep 2020 19:00:35 +0200
|
|
Subject: [PATCH 271/478] misc: modem-power: Modem reset is broken with fast
|
|
poweroff enabled
|
|
|
|
Disable fast poweroff for the duration of the reset after QDAI
|
|
change.
|
|
|
|
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
|
---
|
|
drivers/misc/modem-power.c | 12 +++++++++++-
|
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/misc/modem-power.c b/drivers/misc/modem-power.c
|
|
index d80eb9dacf7b..1f5bfe104463 100644
|
|
--- a/drivers/misc/modem-power.c
|
|
+++ b/drivers/misc/modem-power.c
|
|
@@ -554,7 +554,17 @@ static int mpwr_eg25_power_up(struct mpwr_dev* mpwr)
|
|
|
|
/* reset the modem, to apply QDAI config if necessary */
|
|
if (needs_restart) {
|
|
- mpwr_serdev_at_cmd(mpwr, "AT+CFUN=1,1", 15000);
|
|
+ dev_info(mpwr->dev, "Restarting modem\n");
|
|
+
|
|
+ /* reboot is broken with fastboot enabled */
|
|
+ mpwr_serdev_at_cmd(mpwr, "AT+QCFG=\"fast/poweroff\",0", 5000);
|
|
+
|
|
+ ret = mpwr_serdev_at_cmd(mpwr, "AT+CFUN=1,1", 5000);
|
|
+ if (ret)
|
|
+ goto err_shutdown;
|
|
+
|
|
+ /* wait a bit before starting to probe the modem again */
|
|
+ msleep(6000);
|
|
|
|
ret = mpwr_serdev_at_cmd_with_retry_ignore_timeout(mpwr, "AT&FE0", 1000, 30);
|
|
if (ret)
|
|
--
|
|
2.35.3
|
|
|