summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Aaberg <jonas.aberg@stericsson.com>2011-09-20 12:03:08 +0200
committerMathieu J. Poirier <mathieu.poirier@linaro.org>2011-11-10 11:12:19 -0700
commit51eebb8617ef8b6b98b445cf7090215d906fc8ff (patch)
treea304e00df3d7a8361c954df735623b094cebc16a
parent338ede21dc39d4992bc71b533c1537b4fa697a4e (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);