Commit cc71d37f authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by Jiri Kosina

HID: vivaldi: fix sysfs attributes leak

The driver creates the top row map sysfs attribute in input_configured()
method; unfortunately we do not have a callback that is executed when HID
interface is unbound, thus we are leaking these sysfs attributes, for
example when device is disconnected.

To fix it let's switch to managed version of adding sysfs attributes which
will ensure that they are destroyed when the driver is unbound.

Fixes: 14c9c014 ("HID: add vivaldi HID driver")
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Tested-by: default avatarStephen Boyd <swboyd@chromium.org>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent fc3ef2e3
...@@ -144,7 +144,7 @@ static void vivaldi_feature_mapping(struct hid_device *hdev, ...@@ -144,7 +144,7 @@ static void vivaldi_feature_mapping(struct hid_device *hdev,
static int vivaldi_input_configured(struct hid_device *hdev, static int vivaldi_input_configured(struct hid_device *hdev,
struct hid_input *hidinput) struct hid_input *hidinput)
{ {
return sysfs_create_group(&hdev->dev.kobj, &input_attribute_group); return devm_device_add_group(&hdev->dev, &input_attribute_group);
} }
static const struct hid_device_id vivaldi_table[] = { static const struct hid_device_id vivaldi_table[] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment