Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[pandora-kernel.git] / arch / cris / arch-v32 / drivers / mach-fs / gpio.c
index 7863fd4..fe1fde8 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
+#include <linux/smp_lock.h>
 
 #include <asm/etraxgpio.h>
 #include <hwregs/reg_map.h>
@@ -426,9 +427,10 @@ gpio_open(struct inode *inode, struct file *filp)
                return -EINVAL;
 
        priv = kmalloc(sizeof(struct gpio_private), GFP_KERNEL);
-
        if (!priv)
                return -ENOMEM;
+
+       lock_kernel();
        memset(priv, 0, sizeof(*priv));
 
        priv->minor = p;
@@ -449,6 +451,7 @@ gpio_open(struct inode *inode, struct file *filp)
        alarmlist = priv;
        spin_unlock_irq(&alarm_lock);
 
+       unlock_kernel();
        return 0;
 }