Re: [PATCH 2/3] input: use input_mutex instead of BKL when opening input device

From: Arnd Bergmann
Date: Tue Mar 09 2010 - 15:12:23 EST


On Tuesday 09 March 2010, Thadeu Lima de Souza Cascardo wrote:
> MODULE_AUTHOR("Vojtech Pavlik <vojtech@xxxxxxx>");
> @@ -1881,7 +1880,7 @@ static int input_open_file(struct inode *inode, struct file *file)
> const struct file_operations *old_fops, *new_fops = NULL;
> int err;
>
> - lock_kernel();
> + mutex_lock(&input_mutex);
> /* No load-on-demand here? */
> handler = input_table[iminor(inode) >> 5];
> if (!handler || !(new_fops = fops_get(handler->fops))) {
> @@ -1909,7 +1908,7 @@ static int input_open_file(struct inode *inode, struct file *file)
> }
> fops_put(old_fops);
> out:
> - unlock_kernel();
> + mutex_unlock(&input_mutex);
> return err;
> }
>
> --

Well, actually please have a look at
http://git.kernel.org/?p=linux/kernel/git/arnd/playground.git;a=commitdiff;h=c06fd0234357618a5741ce958d58901ae4cb7ac1

* use mutex_lock_interruptible() where possible
* you probably don't want to hold input_mutex when calling into the lower
device's open function

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/