On 08/19/2016, 09:11 AM, Jiri Slaby wrote: > From: Dmitry Torokhov <[email protected]> > > 3.12-stable review patch. If anyone has any objections, please let me know. > > =============== > > commit 4097461897df91041382ff6fcd2bfa7ee6b2448c upstream. > > As explained in [email protected] 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 <[email protected]> > Tested-by: Mark Laws <[email protected]> > Signed-off-by: Dmitry Torokhov <[email protected]> > Signed-off-by: Jiri Slaby <[email protected]>
Dropped from 3.12 for the same reason as in CAKdAkRS7-hrnMn-ibWT_+1eM859GuPZAg=fsqgqry8bt7zc...@mail.gmail.com. -- js suse labs

