All of lore.kernel.org
 help / color / mirror / Atom feed
* [Patch] Change arch/sparc/kernel/apc.c to unlocked_ioctl
@ 2008-07-14  9:34 stoyboyker
  2008-07-15  5:12 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: stoyboyker @ 2008-07-14  9:34 UTC (permalink / raw)
  To: sparclinux

This is a multi-part message in MIME format. To properly display this message you need a MIME-Version 1.0 compliant Email program.

------MIME delimiter for sendEmail-98566.9322117282
Content-Type: text/plain;
        charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

This changes arch/sparc/kernel/apc.c to use unlocked_ioctl

Signed-off-by: Stoyan Gaydarov <stoyboyker@gmail.com>

diff -uprN linux-2.6.26/arch/sparc/kernel/apc.c devel/arch/sparc/kernel/apc.c
--- linux-2.6.26/arch/sparc/kernel/apc.c	2008-07-13 16:51:29.000000000 -0500
+++ devel/arch/sparc/kernel/apc.c	2008-07-14 04:24:40.000000000 -0500
@@ -83,54 +83,70 @@ static int apc_release(struct inode *ino
 	return 0;
 }
 
-static int apc_ioctl(struct inode *inode, struct file *f, 
-		     unsigned int cmd, unsigned long __arg)
+static long apc_ioctl(struct file *f, unsigned int cmd, unsigned long __arg)
 {
 	__u8 inarg, __user *arg;
 
 	arg = (__u8 __user *) __arg;
+
+	lock_kernel();
+
 	switch (cmd) {
 	case APCIOCGFANCTL:
-		if (put_user(apc_readb(APC_FANCTL_REG) & APC_REGMASK, arg))
-				return -EFAULT;
+		if (put_user(apc_readb(APC_FANCTL_REG) & APC_REGMASK, arg)) {
+			unlock_kernel();
+			return -EFAULT;
+		}
 		break;
 
 	case APCIOCGCPWR:
-		if (put_user(apc_readb(APC_CPOWER_REG) & APC_REGMASK, arg))
+		if (put_user(apc_readb(APC_CPOWER_REG) & APC_REGMASK, arg)) {
+			unlock_kernel();
 			return -EFAULT;
+		}
 		break;
 
 	case APCIOCGBPORT:
-		if (put_user(apc_readb(APC_BPORT_REG) & APC_BPMASK, arg))
+		if (put_user(apc_readb(APC_BPORT_REG) & APC_BPMASK, arg)) {
+			unlock_kernel();
 			return -EFAULT;
+		}
 		break;
 
 	case APCIOCSFANCTL:
-		if (get_user(inarg, arg))
+		if (get_user(inarg, arg)) {
+			unlock_kernel();
 			return -EFAULT;
+		}
 		apc_writeb(inarg & APC_REGMASK, APC_FANCTL_REG);
 		break;
 	case APCIOCSCPWR:
-		if (get_user(inarg, arg))
+		if (get_user(inarg, arg)) {
+			unlock_kernel();
 			return -EFAULT;
+		}
 		apc_writeb(inarg & APC_REGMASK, APC_CPOWER_REG);
 		break;
 	case APCIOCSBPORT:
-		if (get_user(inarg, arg))
+		if (get_user(inarg, arg)) {
+			unlock_kernel();
 			return -EFAULT;
+		}
 		apc_writeb(inarg & APC_BPMASK, APC_BPORT_REG);
 		break;
 	default:
+		unlock_kernel();
 		return -EINVAL;
 	};
 
+	unlock_kernel();
 	return 0;
 }
 
 static const struct file_operations apc_fops = {
-	.ioctl =	apc_ioctl,
-	.open =		apc_open,
-	.release =	apc_release,
+	.unlocked_ioctl =	apc_ioctl,
+	.open =			apc_open,
+	.release =		apc_release,
 };
 
 static struct miscdevice apc_miscdev = { APC_MINOR, APC_DEVNAME, &apc_fops };

------MIME delimiter for sendEmail-98566.9322117282--


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Patch] Change arch/sparc/kernel/apc.c to unlocked_ioctl
  2008-07-14  9:34 [Patch] Change arch/sparc/kernel/apc.c to unlocked_ioctl stoyboyker
@ 2008-07-15  5:12 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2008-07-15  5:12 UTC (permalink / raw)
  To: sparclinux

From: "stoyboyker@gmail.com" <stoyboyker@gmail.com>
Date: Mon, 14 Jul 2008 09:34:43 +0000

> This changes arch/sparc/kernel/apc.c to use unlocked_ioctl
> 
> Signed-off-by: Stoyan Gaydarov <stoyboyker@gmail.com>

Applied, thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-07-15  5:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-14  9:34 [Patch] Change arch/sparc/kernel/apc.c to unlocked_ioctl stoyboyker
2008-07-15  5:12 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.