From c9ccb157049a927b4168dbcd23389d9b062deef6 Mon Sep 17 00:00:00 2001 From: Tony Truong Date: Fri, 6 Nov 2015 15:05:07 -0800 Subject: [PATCH] mhi: core: Track number of failed M2 wakeups Failed M2 wakeups may represent a serious hardware problem. The device is refusing to wake up from low power states and all modem functionality is now stalled. Track these wakeup attempts. Change-Id: I3115a4416f85290c5faead0e2d9f280d8cc3b662 Signed-off-by: Andrei Danaila Signed-off-by: Tony Truong --- drivers/platform/msm/mhi/mhi.h | 1 + drivers/platform/msm/mhi/mhi_states.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/platform/msm/mhi/mhi.h b/drivers/platform/msm/mhi/mhi.h index f3f9ec52f7ce..fd92c47ca3cb 100644 --- a/drivers/platform/msm/mhi/mhi.h +++ b/drivers/platform/msm/mhi/mhi.h @@ -385,6 +385,7 @@ struct mhi_counters { u32 mhi_ready_cntr; u32 m3_event_timeouts; u32 m0_event_timeouts; + u32 m2_event_timeouts; u32 msi_disable_cntr; u32 msi_enable_cntr; u32 nr_irq_migrations; diff --git a/drivers/platform/msm/mhi/mhi_states.c b/drivers/platform/msm/mhi/mhi_states.c index 8f3ff10b739f..baf239580a17 100644 --- a/drivers/platform/msm/mhi/mhi_states.c +++ b/drivers/platform/msm/mhi/mhi_states.c @@ -914,8 +914,9 @@ int mhi_initiate_m3(struct mhi_device_ctxt *mhi_dev_ctxt) mhi_dev_ctxt->mhi_state == MHI_STATE_M1, msecs_to_jiffies(MHI_MAX_RESUME_TIMEOUT)); if (0 == r || -ERESTARTSYS == r) { - mhi_log(MHI_MSG_INFO, + mhi_log(MHI_MSG_CRITICAL, "MDM failed to come out of M2.\n"); + mhi_dev_ctxt->counters.m2_event_timeouts++; r = -EAGAIN; goto exit; }