Positivo I30 doesn't send release key event for volume up/down/mute keys. The key list is the same as previous added Soltech TA12 quirk, so integrate this using same list. Signed-off-by: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx> --- drivers/input/keyboard/atkbd.c | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 4709e15..296f1fd 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c @@ -904,9 +904,10 @@ static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = { }; /* - * Soltech TA12 system with broken key release on volume keys and mute key + * Many notebooks don't send key release event for volume up/down/mute + * keys, with key list below common among them */ -static unsigned int atkdb_soltech_ta12_forced_release_keys[] = { +static unsigned int atkbd_mute_volume_forced_release_keys[] = { 0xa0, 0xae, 0xb0, -1U }; @@ -1647,7 +1648,16 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { DMI_MATCH(DMI_PRODUCT_NAME, "TA12"), }, .callback = atkbd_setup_forced_release, - .driver_data = atkdb_soltech_ta12_forced_release_keys, + .driver_data = atkbd_mute_volume_forced_release_keys, + }, + { + .ident = "Positivo I30", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "POSITIVO"), + DMI_MATCH(DMI_BOARD_NAME, "I30"), + }, + .callback = atkbd_setup_forced_release, + .driver_data = atkbd_mute_volume_forced_release_keys, }, { } }; -- 1.6.4.4 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html