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