HID: apple: Do not reset quirks when the Fn key is not found
authorJosé Expósito <jose.exposito89@gmail.com>
Thu, 18 Nov 2021 07:29:53 +0000 (08:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 07:47:36 +0000 (08:47 +0100)
[ Upstream commit a5fe7864d8ada170f19cc47d176bf8260ffb4263 ]

When a keyboard without a function key is detected, instead of removing
all quirks, remove only the APPLE_HAS_FN quirk.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hid/hid-apple.c

index 149902619cbc8b9d1dfbc88dd98804f7da12eeb5..0074091c27aa273ba461ea3821b59051ac1a1e01 100644 (file)
@@ -390,7 +390,7 @@ static int apple_input_configured(struct hid_device *hdev,
 
        if ((asc->quirks & APPLE_HAS_FN) && !asc->fn_found) {
                hid_info(hdev, "Fn key not found (Apple Wireless Keyboard clone?), disabling Fn key handling\n");
-               asc->quirks = 0;
+               asc->quirks &= ~APPLE_HAS_FN;
        }
 
        return 0;