summaryrefslogtreecommitdiffstats
path: root/arch/um/drivers/harddog_kern.c
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2010-06-01 09:57:49 +0200
committerJoerg Roedel <joerg.roedel@amd.com>2010-06-01 09:57:49 +0200
commit1d61e73ab4c7470833241af888939a7aab2b0354 (patch)
treedd714c2428070a7ea2bf807c2821ac75ff13ec55 /arch/um/drivers/harddog_kern.c
parentarch/x86/kernel: Add missing spin_unlock (diff)
parentLinux 2.6.35-rc1 (diff)
downloadlinux-1d61e73ab4c7470833241af888939a7aab2b0354.tar.xz
linux-1d61e73ab4c7470833241af888939a7aab2b0354.zip
Merge commit 'v2.6.35-rc1' into amd-iommu/2.6.35
Diffstat (limited to 'arch/um/drivers/harddog_kern.c')
-rw-r--r--arch/um/drivers/harddog_kern.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/arch/um/drivers/harddog_kern.c b/arch/um/drivers/harddog_kern.c
index d332503fa1be..cfcac1ff4cf2 100644
--- a/arch/um/drivers/harddog_kern.c
+++ b/arch/um/drivers/harddog_kern.c
@@ -124,8 +124,8 @@ static ssize_t harddog_write(struct file *file, const char __user *data, size_t
return 0;
}
-static int harddog_ioctl(struct inode *inode, struct file *file,
- unsigned int cmd, unsigned long arg)
+static int harddog_ioctl_unlocked(struct file *file,
+ unsigned int cmd, unsigned long arg)
{
void __user *argp= (void __user *)arg;
static struct watchdog_info ident = {
@@ -148,10 +148,22 @@ static int harddog_ioctl(struct inode *inode, struct file *file,
}
}
+static long harddog_ioctl(struct file *file,
+ unsigned int cmd, unsigned long arg)
+{
+ long ret;
+
+ lock_kernel();
+ ret = harddog_ioctl_unlocked(file, cmd, arg);
+ unlock_kernel();
+
+ return ret;
+}
+
static const struct file_operations harddog_fops = {
.owner = THIS_MODULE,
.write = harddog_write,
- .ioctl = harddog_ioctl,
+ .unlocked_ioctl = harddog_ioctl,
.open = harddog_open,
.release = harddog_release,
};