On 08/19/2016, 09:11 AM, Jiri Slaby wrote: > From: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > 3.12-stable review patch. If anyone has any objections, please let me know. > > =============== > > commit 4097461897df91041382ff6fcd2bfa7ee6b2448c upstream. > > As explained in 1407814240-4275-1-git-send-email-decui@xxxxxxxxxxxxx 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@xxxxxxxx> > Tested-by: Mark Laws <mdl@xxxxxxxx> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Dropped from 3.12 for the same reason as in CAKdAkRS7-hrnMn-ibWT_+1eM859GuPZAg=fSqGQrY8bT7zC+rw@xxxxxxxxxxxxxx. -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html