]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/input/joydev.c
saner FASYNC handling on file close
[linux-2.6-omap-h63xx.git] / drivers / input / joydev.c
index 22b2789ef58ad17e30299f5fcbc7f5587d11dba9..a85b1485e77499cd6afb15f46590b82951e1aa9e 100644 (file)
@@ -171,6 +171,7 @@ static void joydev_free(struct device *dev)
 {
        struct joydev *joydev = container_of(dev, struct joydev, dev);
 
+       input_put_device(joydev->handle.dev);
        kfree(joydev);
 }
 
@@ -243,7 +244,6 @@ static int joydev_release(struct inode *inode, struct file *file)
        struct joydev_client *client = file->private_data;
        struct joydev *joydev = client->joydev;
 
-       joydev_fasync(-1, file, 0);
        joydev_detach_client(joydev, client);
        kfree(client);
 
@@ -750,7 +750,7 @@ static int joydev_connect(struct input_handler *handler, struct input_dev *dev,
        joydev->minor = minor;
 
        joydev->exist = 1;
-       joydev->handle.dev = dev;
+       joydev->handle.dev = input_get_device(dev);
        joydev->handle.name = joydev->name;
        joydev->handle.handler = handler;
        joydev->handle.private = joydev;