From: Alex Hung <alex.hung@xxxxxxxxxxxxx> commit 01e16cb67cce68afaeb9c7bed72299036dbb0bc1 upstream. Similar to other systems Surface Go 3 requires a DMI quirk to enable 5 button array for power and volume buttons. Buglink: https://github.com/linux-surface/linux-surface/issues/595 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Alex Hung <alex.hung@xxxxxxxxxxxxx> Link: https://lore.kernel.org/r/20211203212810.2666508-1-alex.hung@xxxxxxxxxxxxx Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/platform/x86/intel/hid.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/drivers/platform/x86/intel/hid.c +++ b/drivers/platform/x86/intel/hid.c @@ -106,6 +106,13 @@ static const struct dmi_system_id button DMI_MATCH(DMI_PRODUCT_NAME, "Surface Go 3"), }, }, + { + .ident = "Microsoft Surface Go 3", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "Surface Go 3"), + }, + }, { } };