diff options
Diffstat (limited to 'drivers/input/mousedev.c')
-rw-r--r-- | drivers/input/mousedev.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c index bbbe5e81adc1..b989748598ae 100644 --- a/drivers/input/mousedev.c +++ b/drivers/input/mousedev.c | |||
@@ -414,6 +414,7 @@ static void mousedev_free(struct device *dev) | |||
414 | { | 414 | { |
415 | struct mousedev *mousedev = container_of(dev, struct mousedev, dev); | 415 | struct mousedev *mousedev = container_of(dev, struct mousedev, dev); |
416 | 416 | ||
417 | input_put_device(mousedev->handle.dev); | ||
417 | kfree(mousedev); | 418 | kfree(mousedev); |
418 | } | 419 | } |
419 | 420 | ||
@@ -865,7 +866,7 @@ static struct mousedev *mousedev_create(struct input_dev *dev, | |||
865 | 866 | ||
866 | mousedev->minor = minor; | 867 | mousedev->minor = minor; |
867 | mousedev->exist = 1; | 868 | mousedev->exist = 1; |
868 | mousedev->handle.dev = dev; | 869 | mousedev->handle.dev = input_get_device(dev); |
869 | mousedev->handle.name = mousedev->name; | 870 | mousedev->handle.name = mousedev->name; |
870 | mousedev->handle.handler = handler; | 871 | mousedev->handle.handler = handler; |
871 | mousedev->handle.private = mousedev; | 872 | mousedev->handle.private = mousedev; |