aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Rueegg <felix.rueegg@gmail.com>2013-10-06 17:59:56 +0200
committerFelix Rueegg <felix.rueegg@gmail.com>2013-10-06 17:59:56 +0200
commitee9baa2dd8a8a5d99b6943707d32e32e0687f20d (patch)
tree7f04702bd85e4d881c0a9f45670304018db9263e
parentb4581a9a57b081285c9893ad9ce8a8c8eb30694f (diff)
Remove sysfs attributes when removing driver to prevent error when driver is loaded again.
-rw-r--r--src/kernel/hid-lg-g710-plus.c5
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);