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-05-22 11:07:25 +0200
commit40a824150688e73e6153cf15ffde55421a801ce8 (patch)
tree30bf7518ca0d5d3acf154dac4f0e0778b024b212
parent18f638e206e2536b835e27fae5024eb13a6f9915 (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();
}