linux/include
Dmitry Torokhov 4097461897 Input: i8042 - break load dependency between atkbd/psmouse and i8042
As explained in 1407814240-4275-1-git-send-email-decui@microsoft.com we
have a hard load dependency between i8042 and atkbd which prevents
keyboard from working on Gen2 Hyper-V VMs.

> hyperv_keyboard invokes serio_interrupt(), which needs a valid serio
> driver like atkbd.c.  atkbd.c depends on libps2.c because it invokes
> ps2_command().  libps2.c depends on i8042.c because it invokes
> i8042_check_port_owner().  As a result, hyperv_keyboard actually
> depends on i8042.c.
>
> For a Generation 2 Hyper-V VM (meaning no i8042 device emulated), if a
> Linux VM (like Arch Linux) happens to configure CONFIG_SERIO_I8042=m
> rather than =y, atkbd.ko can't load because i8042.ko can't load(due to
> no i8042 device emulated) and finally hyperv_keyboard can't work and
> the user can't input: https://bugs.archlinux.org/task/39820
> (Ubuntu/RHEL/SUSE aren't affected since they use CONFIG_SERIO_I8042=y)

To break the dependency we move away from using i8042_check_port_owner()
and instead allow serio port owner specify a mutex that clients should use
to serialize PS/2 command stream.

Reported-by: Mark Laws <mdl@60hz.org>
Tested-by: Mark Laws <mdl@60hz.org>
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2016-07-27 14:20:09 -07:00
..
acpi device property: Avoid potential dereferences of invalid pointers 2016-04-27 23:40:02 +02:00
asm-generic asm-generic/futex: Re-enable preemption in futex_atomic_cmpxchg_inatomic() 2016-04-21 11:06:09 +02:00
clocksource
crypto
drm drm: Loongson-3 doesn't fully support wc memory 2016-04-22 10:24:11 +10:00
dt-bindings
keys
kvm
linux Input: i8042 - break load dependency between atkbd/psmouse and i8042 2016-07-27 14:20:09 -07:00
math-emu
media [media] media: vb2: Fix regression on poll() for RW mode 2016-04-25 10:21:23 -03:00
memory
misc
net udp_tunnel: Remove redundant udp_tunnel_gro_complete(). 2016-05-06 18:25:26 -04:00
pcmcia
ras
rdma IB/security: Restrict use of the write() interface 2016-04-28 12:03:16 -04:00
rxrpc
scsi
soc
sound ALSA: hda - Update BCLK also at hotplug for i915 HSW/BDW 2016-04-26 10:11:11 +02:00
target
trace
uapi Input: add SW_PEN_INSERTED define 2016-06-29 09:51:03 -07:00
video
xen
Kbuild