From b0861621d94249785f0d1218415e02a916628386 Mon Sep 17 00:00:00 2001 From: "yuhong.tao@intel.com" Date: Mon, 13 Aug 2018 19:12:47 +0800 Subject: [PATCH] dm: monotor: bugfix: update wakeup reason before call recume() callback In handle_resume(), wakeup_reason is updated before call ops->ops->resume(). Because ops->ops->resume() needs to know the latest wakeup reason. Acked-by: Yan Like Signed-off-by: Tao Yuhong --- devicemodel/core/monitor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devicemodel/core/monitor.c b/devicemodel/core/monitor.c index c5b41f1a4..4b97c5a93 100644 --- a/devicemodel/core/monitor.c +++ b/devicemodel/core/monitor.c @@ -168,6 +168,8 @@ static void handle_resume(struct mngr_msg *msg, int client_fd, void *param) ack.msgid = msg->msgid; ack.timestamp = msg->timestamp; + wakeup_reason = msg->data.reason; + LIST_FOREACH(ops, &vm_ops_head, list) { if (ops->ops->resume) { ret += ops->ops->resume(ops->arg); @@ -181,8 +183,6 @@ static void handle_resume(struct mngr_msg *msg, int client_fd, void *param) } else ack.data.err = ret; - wakeup_reason = msg->data.reason; - mngr_send_msg(client_fd, &ack, NULL, ACK_TIMEOUT); }