Loading drivers/input/mousedev.c +10 −2 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #define MOUSEDEV_MIX 31 #include <linux/slab.h> #include <linux/smp_lock.h> #include <linux/poll.h> #include <linux/module.h> #include <linux/init.h> Loading Loading @@ -545,16 +546,21 @@ static int mousedev_open(struct inode *inode, struct file *file) if (i >= MOUSEDEV_MINORS) return -ENODEV; lock_kernel(); error = mutex_lock_interruptible(&mousedev_table_mutex); if (error) if (error) { unlock_kernel(); return error; } mousedev = mousedev_table[i]; if (mousedev) get_device(&mousedev->dev); mutex_unlock(&mousedev_table_mutex); if (!mousedev) if (!mousedev) { unlock_kernel(); return -ENODEV; } client = kzalloc(sizeof(struct mousedev_client), GFP_KERNEL); if (!client) { Loading @@ -573,6 +579,7 @@ static int mousedev_open(struct inode *inode, struct file *file) goto err_free_client; file->private_data = client; unlock_kernel(); return 0; err_free_client: Loading @@ -580,6 +587,7 @@ static int mousedev_open(struct inode *inode, struct file *file) kfree(client); err_put_mousedev: put_device(&mousedev->dev); unlock_kernel(); return error; } Loading Loading
drivers/input/mousedev.c +10 −2 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #define MOUSEDEV_MIX 31 #include <linux/slab.h> #include <linux/smp_lock.h> #include <linux/poll.h> #include <linux/module.h> #include <linux/init.h> Loading Loading @@ -545,16 +546,21 @@ static int mousedev_open(struct inode *inode, struct file *file) if (i >= MOUSEDEV_MINORS) return -ENODEV; lock_kernel(); error = mutex_lock_interruptible(&mousedev_table_mutex); if (error) if (error) { unlock_kernel(); return error; } mousedev = mousedev_table[i]; if (mousedev) get_device(&mousedev->dev); mutex_unlock(&mousedev_table_mutex); if (!mousedev) if (!mousedev) { unlock_kernel(); return -ENODEV; } client = kzalloc(sizeof(struct mousedev_client), GFP_KERNEL); if (!client) { Loading @@ -573,6 +579,7 @@ static int mousedev_open(struct inode *inode, struct file *file) goto err_free_client; file->private_data = client; unlock_kernel(); return 0; err_free_client: Loading @@ -580,6 +587,7 @@ static int mousedev_open(struct inode *inode, struct file *file) kfree(client); err_put_mousedev: put_device(&mousedev->dev); unlock_kernel(); return error; } Loading