diff options
author | Felix Rueegg <felix.rueegg@gmail.com> | 2013-10-06 17:59:56 +0200 |
---|---|---|
committer | Felix Rueegg <felix.rueegg@gmail.com> | 2013-10-06 17:59:56 +0200 |
commit | ee9baa2dd8a8a5d99b6943707d32e32e0687f20d (patch) | |
tree | 7f04702bd85e4d881c0a9f45670304018db9263e | |
parent | b4581a9a57b081285c9893ad9ce8a8c8eb30694f (diff) |
Remove sysfs attributes when removing driver to prevent error when driver is loaded again.
-rw-r--r-- | src/kernel/hid-lg-g710-plus.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/kernel/hid-lg-g710-plus.c b/src/kernel/hid-lg-g710-plus.c index 42ff7d8..57876d8 100644 --- a/src/kernel/hid-lg-g710-plus.c +++ b/src/kernel/hid-lg-g710-plus.c @@ -249,6 +249,11 @@ err_free: static void lg_g710_plus_remove(struct hid_device *hdev) { struct lg_g710_plus_data* data = lg_g710_plus_get_data(hdev); + struct list_head *feature_report_list = &hdev->report_enum[HID_FEATURE_REPORT].report_list; + + if (data != NULL && !list_empty(feature_report_list)) + sysfs_remove_group(&hdev->dev.kobj, &data->attr_group); + hid_hw_stop(hdev); if (data != NULL) { kfree(data); |