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 09:54:11 +0000 (10:54 +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 5c1d33cda863b2be27caaf278ee835d5b0d244e2..e5d2e7e9541b8296b421c2933ec299a46bc99fe7 100644 (file)
@@ -415,7 +415,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;