aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Aaberg <jonas.aberg@stericsson.com>2011-09-20 12:03:08 +0200
committerPhilippe Langlais <philippe.langlais@stericsson.com>2011-12-06 11:01:06 +0100
commitb4bf723f8f75f7d4f8dc42960c080eee784469ea (patch)
tree3328e601ee1c3e2407fb2a8f17449d73e22358cd
parent149b2eaaf587a103e8b7bd6cfaa3829e6ff9e10e (diff)
drivers: modem: shrm: Block suspend when needed
Change-Id: Ic86e900e38d61e1c9aa9d4a54daf1d610f0f2484 Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32079
-rw-r--r--drivers/modem/shrm/shrm_protocol.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/modem/shrm/shrm_protocol.c b/drivers/modem/shrm/shrm_protocol.c
index 137b70e9cbf..50443e4803a 100644
--- a/drivers/modem/shrm/shrm_protocol.c
+++ b/drivers/modem/shrm/shrm_protocol.c
@@ -18,6 +18,7 @@
#include <linux/modem/modem_client.h>
#include <linux/mfd/dbx500-prcmu.h>
#include <mach/reboot_reasons.h>
+#include <mach/suspend.h>
#define L2_HEADER_ISI 0x0
#define L2_HEADER_RPC 0x1
@@ -449,6 +450,7 @@ void shm_ca_sleep_req_work(struct work_struct *work)
hrtimer_start(&timer, ktime_set(0, 10*NSEC_PER_MSEC),
HRTIMER_MODE_REL);
+ suspend_unblock_sleep();
atomic_dec(&ac_sleep_disable_count);
}
@@ -556,6 +558,7 @@ static irqreturn_t shrm_prcmu_irq_handler(int irq, void *data)
switch (irq) {
case IRQ_PRCMU_CA_WAKE:
+ suspend_block_sleep();
if (shrm->msr_flag)
atomic_set(&ac_sleep_disable_count, 0);
atomic_inc(&ac_sleep_disable_count);