Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16750c2f authored by Jonathan Corbet's avatar Jonathan Corbet
Browse files

phonedev: cdev lock_kernel() pushdown



phone_open() looks OK, but I don't trust the subsidiary drivers (and ixj in
particular).

Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent 70ffa16e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include <linux/errno.h>
#include <linux/phonedev.h>
#include <linux/init.h>
#include <linux/smp_lock.h>
#include <asm/uaccess.h>
#include <asm/system.h>

@@ -53,6 +54,7 @@ static int phone_open(struct inode *inode, struct file *file)
	if (minor >= PHONE_NUM_DEVICES)
		return -ENODEV;

	lock_kernel();
	mutex_lock(&phone_lock);
	p = phone_device[minor];
	if (p)
@@ -79,6 +81,7 @@ static int phone_open(struct inode *inode, struct file *file)
	fops_put(old_fops);
end:
	mutex_unlock(&phone_lock);
	unlock_kernel();
	return err;
}