[PATCH] HID: hid-ntrig: fix the error handling code in ntrig_probe

From: Mingxuan Xiang
Date: Sun Mar 13 2022 - 11:06:14 EST


If sysfs_create_group in ntrig_probe fails, sysfs_remove_group in
ntrig_remove would hit WARN().

Fix this by returning err in ntrig_probe rather than ignoring the
failure of sysfs_create_group.

CC: Dongliang Mu <dzm91@xxxxxxxxxxx>
Fixes: eab32f5f6557 ("HID: ntrig: add sysfs access to filter parameters")
Signed-off-by: Mingxuan Xiang <mx_xiang@xxxxxxxxxxx>
---
drivers/hid/hid-ntrig.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/hid/hid-ntrig.c b/drivers/hid/hid-ntrig.c
index b5d26f03fe6b..f49427815d98 100644
--- a/drivers/hid/hid-ntrig.c
+++ b/drivers/hid/hid-ntrig.c
@@ -951,10 +951,14 @@ static int ntrig_probe(struct hid_device *hdev, const struct hid_device_id *id)

ret = sysfs_create_group(&hdev->dev.kobj,
&ntrig_attribute_group);
- if (ret)
+ if (ret) {
hid_err(hdev, "cannot create sysfs group\n");
+ goto err_sysfs_create;
+ }

return 0;
+err_sysfs_create:
+ hid_hw_stop(hdev);
err_free:
kfree(nd);
return ret;
--
2.25.1