From 65e4130644cd535da7cabfc6309897596bddf240 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman 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 --- 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