Merge branch 'nfs-for-2.6.36' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[firefly-linux-kernel-4.4.55.git] / net / wanrouter / wanmain.c
index 258daa80ad926d80d86abcf06aaeb177514d1791..2bf23406637ae1eb849abb8633fd4658f5cf3332 100644 (file)
@@ -48,7 +48,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>      /* support for loadable modules */
 #include <linux/slab.h>                /* kmalloc(), kfree() */
-#include <linux/smp_lock.h>
+#include <linux/mutex.h>
 #include <linux/mm.h>
 #include <linux/string.h>      /* inline mem*, str* functions */
 
@@ -71,6 +71,7 @@
  *     WAN device IOCTL handlers
  */
 
+static DEFINE_MUTEX(wanrouter_mutex);
 static int wanrouter_device_setup(struct wan_device *wandev,
                                  wandev_conf_t __user *u_conf);
 static int wanrouter_device_stat(struct wan_device *wandev,
@@ -376,7 +377,7 @@ long wanrouter_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
        if (wandev->magic != ROUTER_MAGIC)
                return -EINVAL;
 
-       lock_kernel();
+       mutex_lock(&wanrouter_mutex);
        switch (cmd) {
        case ROUTER_SETUP:
                err = wanrouter_device_setup(wandev, data);
@@ -408,7 +409,7 @@ long wanrouter_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                        err = wandev->ioctl(wandev, cmd, arg);
                else err = -EINVAL;
        }
-       unlock_kernel();
+       mutex_unlock(&wanrouter_mutex);
        return err;
 }