summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Murthy <arun.murthy@stericsson.com>2012-02-08 17:10:45 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-06-05 10:40:28 +0200
commit6cb71f8714be3e54d5272f5e0f696ce9b2167f64 (patch)
tree9052eaaf325873462b16bece0573b38679b6bdd1
parent4019263b82f4b6f1e988f9efafc05ab564bf5769 (diff)
u8500-shrm: reset boot_state on ape initiated modem reset
the variable boot_state is used to monitor the check the access for the GOP register. Hence on APE initiated modem reset, this flag must be reset as there can be possibility that very soon after ape initiated modem reset, there is some 100msec for modem to send to send modem reset ack and in the mean time if ape tries to access the GOP register then it might end up with system freeze. Hence reset the flag on ape initiated modem reset. ST-Ericsson Linux next: NA ST-Ericsson ID: 413508 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I8ce1c2b2df4608dc3cb4b7a0b3c6ed95857ea4a6 Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/48273 Reviewed-by: QABUILD Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
-rw-r--r--drivers/modem/shrm/shrm_protocol.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/modem/shrm/shrm_protocol.c b/drivers/modem/shrm/shrm_protocol.c
index d9187e36c68..d6d9e605b5c 100644
--- a/drivers/modem/shrm/shrm_protocol.c
+++ b/drivers/modem/shrm/shrm_protocol.c
@@ -92,6 +92,13 @@ void shm_print_dbg_info_work(struct kthread_work *work)
void shm_mod_reset_req_work(struct kthread_work *work)
{
+ unsigned long flags;
+
+ /* update the boot_state */
+ spin_lock_irqsave(&boot_lock, flags);
+ boot_state = BOOT_UNKNOWN;
+ wmb();
+ spin_unlock_irqrestore(&boot_lock, flags);
prcmu_modem_reset();
}