Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Input: i8042 - add additional TUXEDO devices to i8042 quirk tables

A lot of modern Clevo barebones have touchpad and/or keyboard issues after
suspend fixable with nomux + reset + noloop + nopnp. Luckily, none of them
have an external PS/2 port so this can safely be set for all of them.

I'm not entirely sure if every device listed really needs all four quirks,
but after testing and production use. No negative effects could be
observed when setting all four.

Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220708161005.1251929-2-wse@tuxedocomputers.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Werner Sembach and committed by
Dmitry Torokhov
436d2190 a63f7778

+68 -8
+68 -8
drivers/input/serio/i8042-x86ia64io.h
··· 901 901 .driver_data = (void *)(SERIO_QUIRK_NOMUX) 902 902 }, 903 903 { 904 - /* Clevo P650RS, 650RP6, Sager NP8152-S, and others */ 905 - .matches = { 906 - DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), 907 - DMI_MATCH(DMI_PRODUCT_NAME, "P65xRP"), 908 - }, 909 - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) 910 - }, 911 - { 912 904 /* OQO Model 01 */ 913 905 .matches = { 914 906 DMI_MATCH(DMI_SYS_VENDOR, "OQO"), ··· 1150 1158 { 1151 1159 .matches = { 1152 1160 DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), 1161 + }, 1162 + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | 1163 + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) 1164 + }, 1165 + { 1166 + /* 1167 + * This is only a partial board_name and might be followed by 1168 + * another letter or number. DMI_MATCH however does do partial 1169 + * matching. 1170 + */ 1171 + .matches = { 1172 + DMI_MATCH(DMI_PRODUCT_NAME, "P65xH"), 1173 + }, 1174 + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | 1175 + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) 1176 + }, 1177 + { 1178 + /* Clevo P650RS, 650RP6, Sager NP8152-S, and others */ 1179 + .matches = { 1180 + DMI_MATCH(DMI_PRODUCT_NAME, "P65xRP"), 1181 + }, 1182 + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | 1183 + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) 1184 + }, 1185 + { 1186 + /* 1187 + * This is only a partial board_name and might be followed by 1188 + * another letter or number. DMI_MATCH however does do partial 1189 + * matching. 1190 + */ 1191 + .matches = { 1192 + DMI_MATCH(DMI_PRODUCT_NAME, "P65_P67H"), 1193 + }, 1194 + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | 1195 + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) 1196 + }, 1197 + { 1198 + /* 1199 + * This is only a partial board_name and might be followed by 1200 + * another letter or number. DMI_MATCH however does do partial 1201 + * matching. 1202 + */ 1203 + .matches = { 1204 + DMI_MATCH(DMI_PRODUCT_NAME, "P65_67RP"), 1205 + }, 1206 + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | 1207 + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) 1208 + }, 1209 + { 1210 + /* 1211 + * This is only a partial board_name and might be followed by 1212 + * another letter or number. DMI_MATCH however does do partial 1213 + * matching. 1214 + */ 1215 + .matches = { 1216 + DMI_MATCH(DMI_PRODUCT_NAME, "P65_67RS"), 1217 + }, 1218 + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | 1219 + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) 1220 + }, 1221 + { 1222 + /* 1223 + * This is only a partial board_name and might be followed by 1224 + * another letter or number. DMI_MATCH however does do partial 1225 + * matching. 1226 + */ 1227 + .matches = { 1228 + DMI_MATCH(DMI_PRODUCT_NAME, "P67xRP"), 1153 1229 }, 1154 1230 .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | 1155 1231 SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)