[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_C0A49257DF09D0DC82EB5F840A370F553C06@qq.com>
Date: Fri, 30 Jan 2026 15:50:29 +0800
From: xiaopeitux@...mail.com
To: syzbot+13f8286fa2de04a7cd48@...kaller.appspotmail.com
Cc: linux-kernel@...r.kernel.org,
Pei Xiao <xiaopei01@...inos.cn>
Subject: [PATCH] test: hid_asus
From: Pei Xiao <xiaopei01@...inos.cn>
#syz test
---
drivers/hid/hid-asus.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
index 1b9793f7c07e..8e34063216c7 100644
--- a/drivers/hid/hid-asus.c
+++ b/drivers/hid/hid-asus.c
@@ -354,6 +354,8 @@ static int asus_wmi_send_event(struct asus_drvdata *drvdata, u8 code)
static int asus_event(struct hid_device *hdev, struct hid_field *field,
struct hid_usage *usage, __s32 value)
{
+ struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
+
if ((usage->hid & HID_USAGE_PAGE) == HID_USAGE_PAGE_VENDOR &&
(usage->hid & HID_USAGE) != 0x00 &&
(usage->hid & HID_USAGE) != 0xff && !usage->type) {
@@ -361,6 +363,12 @@ static int asus_event(struct hid_device *hdev, struct hid_field *field,
usage->hid & HID_USAGE);
}
+ if (drvdata->quirks & QUIRK_HID_FN_LOCK &&
+ usage->type == EV_KEY && usage->code == KEY_FN_ESC && value == 1) {
+ drvdata->fn_lock = !drvdata->fn_lock;
+ schedule_work(&drvdata->fn_lock_sync_work);
+ }
+
if (usage->type == EV_KEY && value) {
switch (usage->code) {
case KEY_KBDILLUMUP:
--
2.25.1
Powered by blists - more mailing lists