armbian_build/patch/kernel/archive/sunxi-5.10/megous/misc-modem-power-Modem-reset-is-broken-with-fast-pow.patch
The-going 7964a578f5
Patches megous 5.10 (#3293)
* Add a series of patches for sunxi 5.10

Patches from the repository
https://github.com/megous/linux branches of orange-pi-5.10

* Patches adapted to the kernel version v5.10.81

* Remove unnecessary patches 5.10.19-5.10.75

* Kernel switch tag=v5.10.81 for the current sunxi

* Adjust broken patches, build tested on sunxi and sunxi64

* Remove patch added by mistake

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
2021-11-27 00:48:30 +01:00

41 lines
1.3 KiB
Diff

From c6a3078dc16949690c196f3dd73e75aecbeb7822 Mon Sep 17 00:00:00 2001
From: Ondrej Jirman <megous@megous.com>
Date: Mon, 28 Sep 2020 19:00:35 +0200
Subject: [PATCH 188/351] 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.34.0