mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-21 22:47:50 +00:00
33406940f3
Fixes #4007
31 lines
932 B
Diff
31 lines
932 B
Diff
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
|
|
index c81c79d..a31b866 100644
|
|
--- a/drivers/input/evdev.c
|
|
+++ b/drivers/input/evdev.c
|
|
@@ -1425,6 +1425,7 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev,
|
|
if (error)
|
|
goto err_cleanup_evdev;
|
|
|
|
+ evdev_open_device(evdev);
|
|
return 0;
|
|
|
|
err_cleanup_evdev:
|
|
@@ -1445,6 +1446,7 @@ static void evdev_disconnect(struct input_handle *handle)
|
|
evdev_cleanup(evdev);
|
|
input_free_minor(MINOR(evdev->dev.devt));
|
|
input_unregister_handle(handle);
|
|
+ mutex_destroy(&evdev->mutex);
|
|
put_device(&evdev->dev);
|
|
}
|
|
|
|
@@ -1456,8 +1458,7 @@ static const struct input_device_id evdev_ids[] = {
|
|
MODULE_DEVICE_TABLE(input, evdev_ids);
|
|
|
|
static struct input_handler evdev_handler = {
|
|
- .event = evdev_event,
|
|
- .events = evdev_events,
|
|
+ .event = genode_evdev_event,
|
|
.connect = evdev_connect,
|
|
.disconnect = evdev_disconnect,
|
|
.legacy_minors = true,
|