diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 3a24ed442466..4d3e28103233 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -42,6 +42,7 @@ struct evdev_client { int tail; spinlock_t buffer_lock; /* protects access to buffer, head and tail */ struct wake_lock wake_lock; + char name[28]; struct fasync_struct *fasync; struct evdev *evdev; struct list_head node; @@ -298,7 +299,9 @@ static int evdev_open(struct inode *inode, struct file *file) client->bufsize = bufsize; spin_lock_init(&client->buffer_lock); - wake_lock_init(&client->wake_lock, WAKE_LOCK_SUSPEND, "evdev"); + snprintf(client->name, sizeof(client->name), "%s-%d", + dev_name(&evdev->dev), task_tgid_vnr(current)); + wake_lock_init(&client->wake_lock, WAKE_LOCK_SUSPEND, client->name); client->evdev = evdev; evdev_attach_client(evdev, client);