input: evdev: Use unique wakelock names
authorMike Chan <mike@android.com>
Wed, 28 Oct 2009 00:37:44 +0000 (17:37 -0700)
committerColin Cross <ccross@android.com>
Tue, 14 Jun 2011 16:08:45 +0000 (09:08 -0700)
wakelock names are now contain evdev->name and pid

Signed-off-by: Mike Chan <mike@android.com>
drivers/input/evdev.c

index 809ebebf4d1ef28b6e06b5fad8ce4d61cf29cfe5..1848c9e563384df8be46417f5f88c8d5569fece6 100644 (file)
@@ -45,6 +45,7 @@ struct evdev_client {
        unsigned int packet_head; /* [future] position of the first element of next packet */
        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;
@@ -312,7 +313,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);