<html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><style>body { line-height: 1.5; }blockquote { margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em; }body { font-size: 10.5pt; font-family: 'Microsoft YaHei UI'; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<div><span></span>Hi,Greg</div><div><br></div><div>Thanks.</div><div>Yes, the suspending takes very litte time.</div><div>But the time ,which the suspending takes, &nbsp;has something to do with the hardware.</div><div>Especially when you using an old&nbsp;<span style="font-family: ''; font-size: 10.5pt; line-height: 1.5; background-color: window;">mechanical</span><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">&nbsp;&nbsp;hard disk or something like that.</span></div><div><br></div><div><br></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgba(0,="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><i>how&nbsp;do&nbsp;you&nbsp;know&nbsp;you&nbsp;are&nbsp;hitting&nbsp;the&nbsp;key&nbsp;"during"&nbsp;the&nbsp;suspend?</i></span></div><div>And after notice the problem, I do some hack to confirm that it have to be during the suspending process:</div><div>Within funcion &nbsp;<span style="font-family: ''; font-size: 10.5pt; line-height: 1.5; background-color: window;">kernel/power/suspend.c (4.9 version kernel source)</span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'="">static&nbsp;int&nbsp;suspend_enter(suspend_state_t&nbsp;state,&nbsp;bool&nbsp;*wakeup),</span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'="">I added a line code</span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><b><i>mdelay(5000);&nbsp;</i></b></span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'="">just before</span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgba(0,="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><b><i>error&nbsp;=&nbsp;platform_suspend_prepare_late(state);</i></b></span></span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgba(0,="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'="">to increase the time window.</span></span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgba(0,="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'="">Then rebuild&amp;install the kernel.</span></span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgba(0,="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'="">After the new kernel runs up, now much easier (we got about 5 seconds more) &nbsp;to reproduce the bug.</span></span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgba(0,="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><br></span></span></div><div><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgb(255,="" 255,="" 255);="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><span style="font-family: &quot;" microsoft="" yahei="" ui'";="" font-size:="" 14px;="" color:="" rgb(0,="" 0,="" 0);="" background-color:="" rgba(0,="" font-weight:="" normal;="" font-style:="" normal;text-decoration:="" none;'=""><br></span></span></div><div>Thanks for your time.</div><div><br></div><div>Jim</div><div><br></div>
<div><br></div><hr style="width: 210px; height: 1px; display: none;" color="#b5c4df" size="1" align="left">
<div><span></span></div>
<blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div>&nbsp;</div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><div style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-SIZE: 12px;FONT-FAMILY:tahoma;COLOR:#000000; BACKGROUND: #efefef; PADDING-BOTTOM: 8px; PADDING-TOP: 8px"><div><b>From:</b>&nbsp;<a href="mailto:greg@kroah.com">Greg KH</a></div><div><b>Date:</b>&nbsp;2017-08-31&nbsp;15:16</div><div><b>To:</b>&nbsp;<a href="mailto:jingyun@cpu-os.ac.cn">jingyun@cpu-os.ac.cn</a></div><div><b>CC:</b>&nbsp;<a href="mailto:kernelnewbies@kernelnewbies.org">kernelnewbies</a></div><div><b>Subject:</b>&nbsp;Re: Re: USB keyboard can NOT wakeup from S3( suspend to RAM )</div></div></div><div><div>On Thu, Aug 31, 2017 at 06:38:48AM +0800, jingyun@cpu-os.ac.cn wrote:</div>
<div>&gt; Hi, Greg</div>
<div>&gt; </div>
<div>&gt; Thanks for your time.</div>
<div>&gt; First of all, if I do NOT hit the keyboard during the suspend.</div>
<div>&gt; Then my keyboard CAN wake the system up from suspend.</div>
<div>&gt; This has rule out that my system does NOT support USB wakeup. Right ?</div>
<div>&nbsp;</div>
<div>I really do not know, sorry.&nbsp; Given taht suspend to ram go so fast, how</div>
<div>do you know you are hitting the key "during" the suspend?&nbsp; It's an</div>
<div>almost instantaneous process.</div>
<div>&nbsp;</div>
<div>Check your bios settings about this, or, just don't touch the keyboard</div>
<div>until you really do want to wake it up :)</div>
<div>&nbsp;</div>
<div>good luck!</div>
<div>&nbsp;</div>
<div>greg k-h</div>
</div></blockquote>
</body></html>