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

Commit 5ed2b641 authored by Stoyan Gaydarov's avatar Stoyan Gaydarov Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (11235): changed ioctls to unlocked

parent cea0213d
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -552,8 +552,10 @@ static int ca_send_message(struct dst_state *state, struct ca_msg *p_ca_message,
	return result;
}

static int dst_ca_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long ioctl_arg)
static long dst_ca_ioctl(struct file *file, unsigned int cmd, unsigned long ioctl_arg)
{
	lock_kernel();

	struct dvb_device* dvbdev = (struct dvb_device*) file->private_data;
	struct dst_state* state = (struct dst_state*) dvbdev->priv;
	struct ca_slot_info *p_ca_slot_info;
@@ -647,6 +649,7 @@ static int dst_ca_ioctl(struct inode *inode, struct file *file, unsigned int cmd
	kfree (p_ca_slot_info);
	kfree (p_ca_caps);

	unlock_kernel();
	return result;
}

@@ -684,7 +687,7 @@ static ssize_t dst_ca_write(struct file *file, const char __user *buffer, size_t

static const struct file_operations dst_ca_fops = {
	.owner = THIS_MODULE,
	.ioctl = dst_ca_ioctl,
	.unlocked_ioctl = dst_ca_ioctl,
	.open = dst_ca_open,
	.release = dst_ca_release,
	.read = dst_ca_read,
+8 −3
Original line number Diff line number Diff line
@@ -673,8 +673,9 @@ static int dabusb_release (struct inode *inode, struct file *file)
	return 0;
}

static int dabusb_ioctl (struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
static long dabusb_ioctl (struct file *file, unsigned int cmd, unsigned long arg)
{
	lock_kernel();
	pdabusb_t s = (pdabusb_t) file->private_data;
	pbulk_transfer_t pbulk;
	int ret = 0;
@@ -682,13 +683,16 @@ static int dabusb_ioctl (struct inode *inode, struct file *file, unsigned int cm

	dbg("dabusb_ioctl");

	if (s->remove_pending)
	if (s->remove_pending) {
		unlock_kernel();
		return -EIO;
	}

	mutex_lock(&s->mutex);

	if (!s->usbdev) {
		mutex_unlock(&s->mutex);
		unlock_kernel();
		return -EIO;
	}

@@ -729,6 +733,7 @@ static int dabusb_ioctl (struct inode *inode, struct file *file, unsigned int cm
		break;
	}
	mutex_unlock(&s->mutex);
	unlock_kernel();
	return ret;
}

@@ -737,7 +742,7 @@ static const struct file_operations dabusb_fops =
	.owner =	THIS_MODULE,
	.llseek =	no_llseek,
	.read =		dabusb_read,
	.ioctl =	dabusb_ioctl,
	.unlocked_ioctl =	dabusb_ioctl,
	.open =		dabusb_open,
	.release =	dabusb_release,
};