Input: fix resetting name, phys and uniq when unregistering device
It should be done before calling class_device_unregister() because it will destroy the device and free memory if there are no other references to the device. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
d38b69689c
commit
e7374e4800
|
@ -998,12 +998,13 @@ void input_unregister_device(struct input_dev *dev)
|
||||||
sysfs_remove_group(&dev->cdev.kobj, &input_dev_caps_attr_group);
|
sysfs_remove_group(&dev->cdev.kobj, &input_dev_caps_attr_group);
|
||||||
sysfs_remove_group(&dev->cdev.kobj, &input_dev_id_attr_group);
|
sysfs_remove_group(&dev->cdev.kobj, &input_dev_id_attr_group);
|
||||||
sysfs_remove_group(&dev->cdev.kobj, &input_dev_attr_group);
|
sysfs_remove_group(&dev->cdev.kobj, &input_dev_attr_group);
|
||||||
class_device_unregister(&dev->cdev);
|
|
||||||
|
|
||||||
mutex_lock(&dev->mutex);
|
mutex_lock(&dev->mutex);
|
||||||
dev->name = dev->phys = dev->uniq = NULL;
|
dev->name = dev->phys = dev->uniq = NULL;
|
||||||
mutex_unlock(&dev->mutex);
|
mutex_unlock(&dev->mutex);
|
||||||
|
|
||||||
|
class_device_unregister(&dev->cdev);
|
||||||
|
|
||||||
input_wakeup_procfs_readers();
|
input_wakeup_procfs_readers();
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(input_unregister_device);
|
EXPORT_SYMBOL(input_unregister_device);
|
||||||
|
|
Loading…
Reference in New Issue