linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PROBLEM: Keyboard not responding after resuming from suspend/hibernate
@ 2018-08-31 18:53 Numan Demirdöğen
  2018-08-31 19:16 ` Peter Zijlstra
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Numan Demirdöğen @ 2018-08-31 18:53 UTC (permalink / raw)
  To: peterz; +Cc: mingo, linux-kernel

If I put laptop to suspend or hibernate by closing lid, power
manager or any other method and then I resume/wake up laptop, keyboard
is not responding. My laptop is a Sony Vaio VPCEH2F1E. 

Steps to produce bug:
1. Boot
2. Put laptop to sleep
3. Resume

What I expect to happen: Keyboard responds to key press.
What happens: Keyboard does not respond but mouse and trackball are
working.

git bisect point 9d659ae14b545c4296e812c70493bfdc999b5c1c as the first
bad commit.

Bad commit link:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=9d659ae14b545c4296e812c70493bfdc999b5c1c

 Link to actual bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=195471

awk -f ver_linux
Linux korsan 4.18.5-arch1-1-ARCH #1 SMP PREEMPT Fri Aug 24 12:48:58 UTC 2018 x86_64 GNU/Linux
GNU C               	8.2.0
GNU Make            	4.2.1
Binutils            	2.31.1
Util-linux          	2.32.1
Mount               	2.32.1
Module-init-tools   	25
E2fsprogs           	1.44.4
Jfsutils            	1.1.15
Reiserfsprogs       	3.6.27
Xfsprogs            	4.17.0
Pcmciautils         	018
Linux C Library     	2.28
Dynamic linker (ldd)	2.28
Linux C++ Library   	6.0.25
Procps              	3.3.15
Kbd                 	2.0.4
Console-tools       	2.0.4
Sh-utils            	8.29
Udev                	239
Wireless-tools      	30
Modules Loaded      	ac agpgart ahci arc4 ath ath3k ath9k ath9k_common ath9k_hw atkbd battery bluetooth bpfilter ccm cdrom cfg80211 coretemp crc16 crc32c_generic crc32c_intel crc32_pclmul crct10dif_pclmul cryptd drm drm_kms_helper ecdh_generic ehci_hcd ehci_pci evdev ext4 fb_sys_fops fscrypto fuse ghash_clmulni_intel gpio_ich hid hid_generic i2c_algo_bit i2c_i801 i8042 i915 input_leds intel_cstate intel_gtt intel_powerclamp intel_rapl intel_rapl_perf intel_uncore iptable_filter iptable_mangle iptable_nat ip_tables irqbypass iTCO_vendor_support iTCO_wdt jbd2 kvm kvm_intel led_class libahci libata libcrc32c libps2 lpc_ich mac80211 mac_hid mbcache mei mei_me mousedev msr nf_conntrack nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat nf_nat_ipv4 pcc_cpufreq psmouse rfkill rtc_cmos scsi_mod sd_mod serio serio_raw snd snd_hda_codec snd_hda_codec_conexant snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_core snd_hda_intel snd_hwdep snd_pcm snd_timer sony_laptop soundcore sr_mod syscopyarea sysfillrect sysimgblt usb_common usbcore usbhid x86_pkg_temp_thermal x_tables

dmesg | grep i8042
[    0.574078] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[    0.575936] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.576143] serio: i8042 AUX port at 0x60,0x64 irq 12
[    0.618880] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[   11.248435] input: AlpsPS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input5

cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
  0:          8          0          0          0   IO-APIC   2-edge      timer
  1:          0          0          0      10286   IO-APIC   1-edge      i8042
  8:          0          0          0          1   IO-APIC   8-edge      rtc0
  9:          0       9479          0          0   IO-APIC   9-fasteoi   acpi
 12:          0          0     370114          0   IO-APIC  12-edge      i8042
 16:     197457          0          0          0   IO-APIC  16-fasteoi   ehci_hcd:usb1, ath9k
 19:          0          0          0          0   IO-APIC  19-fasteoi   i801_smbus
 23:          0          0      71055          0   IO-APIC  23-fasteoi   ehci_hcd:usb2
 24:          0      74549          0          0   PCI-MSI 512000-edge      ahci[0000:00:1f.2]
 25:          0         14          0          0   PCI-MSI 360448-edge      mei_me
 26:          0          0     138870          0   PCI-MSI 32768-edge      i915
 27:          0          0          0        330   PCI-MSI 442368-edge      snd_hda_intel:card0
NMI:         24         22         25         21   Non-maskable interrupts
LOC:     534734     446934     603337     440320   Local timer interrupts
SPU:          0          0          0          0   Spurious interrupts
PMI:         24         22         25         21   Performance monitoring interrupts
IWI:         26         12      43115         22   IRQ work interrupts
RTR:          0          0          0          0   APIC ICR read retries
RES:      95282      76970      60242      46409   Rescheduling interrupts
CAL:      66746      75300      70554      69119   Function call interrupts
TLB:      50929      54528      51413      48017   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
DFR:          0          0          0          0   Deferred Error APIC interrupts
MCE:          0          0          0          0   Machine check exceptions
MCP:         18         19         19         19   Machine check polls
HYP:          0          0          0          0   Hypervisor callback interrupts
HRE:          0          0          0          0   Hyper-V reenlightenment interrupts
HVS:          0          0          0          0   Hyper-V stimer0 interrupts
ERR:          0
MIS:          0
PIN:          0          0          0          0   Posted-interrupt notification event
NPI:          0          0          0          0   Nested posted-interrupt event
PIW:          0          0          0          0   Posted-interrupt wakeup event

P.S: My native language is not English.

-- 
Numan Demirdöğen

^ permalink raw reply	[flat|nested] 13+ messages in thread
* [regression, bisected] Keyboard not responding after resuming from suspend/hibernate
@ 2019-07-31  9:07 Numan Demirdöğen
  0 siblings, 0 replies; 13+ messages in thread
From: Numan Demirdöğen @ 2019-07-31  9:07 UTC (permalink / raw)
  To: linux-kernel

If laptop is put to suspend or hibernate by closing lid, via power
manager or by using any other method and then it is resumed/waked up,
keyboard is not responding but mouse or trackball can be used. Although
I can wake laptop up by keyboard, after that I am stuck at the password
prompt. This bug is present ever since using 4.10-rc1 kernel and mostly
on Sony laptops. The last working kernel version is 4.9.0-rc2.

git bisect points 9d659ae14b545c4296e812c70493bfdc999b5c1c 
as the first bad commit[1].

I tried some kernel parameters related to i8042 driver:
i8042.debug=1 i8042.reset=1	keyboard not working
i8042.debug=1 i8042.kbdreset=1	keyboard not working
i8042.debug=1 i8042.nomux=1	keyboard not working
i8042.debug=1 i8042.noaux=1	keyboard working, but touchpad not
working

A user reported that on some rare occasions, keyboard responded to key
press but it remained pressed forever even if stopped pressing it. And
another user reported that passing the options i8042.reset=1
i8042.dumbkbd=1 i8042.direct=1 resulted in the keyboard functioning
after resume. However, there was a long delay before the keyboard or
mouse responded to input on the lock screen.

This one line patch, which can be a hint, from Takashi Iwai essentially
reverts the commit 9d659ae14b545 mentioned in the above and keyboard is
working as expected after resuming from suspend/hibernate, if this
patch is applied. 

--- a/kernel/locking/mutex.c
+++ b/kernel/locking/mutex.c
@@ -59,7 +59,7 @@ EXPORT_SYMBOL(__mutex_init);
  * Bit2 indicates handoff has been done and we're waiting for pickup.
  */
 #define MUTEX_FLAG_WAITERS	0x01
-#define MUTEX_FLAG_HANDOFF	0x02
+#define MUTEX_FLAG_HANDOFF	0x00
 #define MUTEX_FLAG_PICKUP	0x04
 
 #define MUTEX_FLAGS		0x07
 
- The first bug report on bugzilla.kernel.org[2].
- LKML thread[3]
- Another report on OpenSUSE bugzilla[4]

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=9d659ae14b545c4296e812c70493bfdc999b5c1c
[2] https://bugzilla.kernel.org/show_bug.cgi?id=195471
[3] https://lkml.org/lkml/2018/8/31/707
[4]  https://bugzilla.opensuse.org/show_bug.cgi?id=1114588

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-07-31  9:07 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-31 18:53 PROBLEM: Keyboard not responding after resuming from suspend/hibernate Numan Demirdöğen
2018-08-31 19:16 ` Peter Zijlstra
2018-08-31 19:38   ` Numan Demirdöğen
2018-09-03  8:53 ` Numan Demirdöğen
2018-09-18 18:54   ` Pavel Machek
2018-10-19  7:20 ` Fw: " Numan Demirdöğen
2018-10-25  7:49   ` [regression, bisected] " Pavel Machek
2018-10-28 19:06     ` Numan Demirdöğen
2018-11-30 12:44       ` Numan Demirdöğen
2018-12-02 22:28         ` Pavel Machek
2018-12-18  7:23           ` Numan Demirdöğen
2019-03-14 19:54             ` Peter Zijlstra
2019-07-31  9:07 Numan Demirdöğen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).