[PATCH] PM/Trace: get rid of synchronous resume limit during PM trace

Fu, Zhonghui
2015-01-26T05:07:12Z

>From f9c841d1f943d81b5ab0aac7483e794a7f966296 Mon Sep 17 00:00:00 2001
From: Zhonghui Fu <zhonghui.fu@linux.intel.com>
Date: Mon, 26 Jan 2015 11:27:08 +0800
Subject: [PATCH] PM/Trace: get rid of synchronous resume limit during PM trace

There are some kind of dependency between devices in some
hardware platforms. So, asynchronous resuming devices may
hang system due to wrong resume order. As a result, should
not fore synchronously resuming devices during tracing
PM events.

Signed-off-by: Zhonghui Fu <zhonghui.fu@linux.intel.com>
---
drivers/base/power/main.c | 3 +--
include/linux/resume-trace.h | 7 -------
2 files changed, 1 insertions(+), 9 deletions(-)

diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 9717d5f..5df148b 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -517,8 +517,7 @@ static int device_resume_noirq(struct device *dev, pm_message_t state, bool asyn

static bool is_async(struct device *dev)
{
- return dev->power.async_suspend && pm_async_enabled
- && !pm_trace_is_enabled();
+ return dev->power.async_suspend && pm_async_enabled;
}

static void async_resume_noirq(void *data, async_cookie_t cookie)
diff --git a/include/linux/resume-trace.h b/include/linux/resume-trace.h
index f31db23..fd0866e 100644
--- a/include/linux/resume-trace.h
+++ b/include/linux/resume-trace.h
@@ -7,11 +7,6 @@

extern int pm_trace_enabled;

-static inline int pm_trace_is_enabled(void)
-{
- return pm_trace_enabled;
-}
-
struct device;
extern void set_trace_device(struct device *);
extern void generate_resume_trace(const void *tracedata, unsigned int user);
@@ -24,8 +19,6 @@ extern int show_trace_dev_match(char *buf, size_t size);

#else

-static inline int pm_trace_is_enabled(void) { return 0; }
-
#define TRACE_DEVICE(dev) do { } while (0)
#define TRACE_RESUME(dev) do { } while (0)

-- 1.7.1