misc:qcom-mdm-9k: Add modem reset check to avoid triggering modem reset during modem reset procedure.
Bug: 18944533
Bug: 18878523
Bug: 18577275
Change-Id: Ic42392a5ba15835b024eb6e19178d596adc5d8bf
Signed-off-by: jim_sun <jim_sun@htc.com>
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
diff --git a/drivers/misc/qcom-mdm-9k/qcom_usb_modem_power.c b/drivers/misc/qcom-mdm-9k/qcom_usb_modem_power.c
index 974c91b..3539266 100644
--- a/drivers/misc/qcom-mdm-9k/qcom_usb_modem_power.c
+++ b/drivers/misc/qcom-mdm-9k/qcom_usb_modem_power.c
@@ -1476,7 +1476,7 @@
get_user(status, (unsigned long __user *)arg);
pr_info("%s: Trigger modem fatal!!(Ignore ramdump=%d)\n", __func__, status);
- if(status)
+ if(status && !(modem->mdm_status & MDM_STATUS_RESET))
{
modem->ramdump_save = get_enable_ramdumps();
set_enable_ramdumps(0);
@@ -1484,8 +1484,13 @@
#else
pr_info("%s: Trigger modem fatal!!\n", __func__);
#endif
- if(modem->ops && modem->ops->fatal_trigger_cb)
- modem->ops->fatal_trigger_cb(modem);
+ if(!(modem->mdm_status & MDM_STATUS_RESET))
+ {
+ if(modem->ops && modem->ops->fatal_trigger_cb)
+ modem->ops->fatal_trigger_cb(modem);
+ }
+ else
+ pr_info("%s: modem reset is in progress!\n", __func__);
break;
case EFS_SYNC_DONE: