Loading arch/mips/kernel/rtlx.c +6 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <linux/vmalloc.h> #include <linux/elf.h> #include <linux/seq_file.h> #include <linux/smp_lock.h> #include <linux/syscalls.h> #include <linux/moduleloader.h> #include <linux/interrupt.h> Loading Loading @@ -392,8 +393,12 @@ out: static int file_open(struct inode *inode, struct file *filp) { int minor = iminor(inode); int err; return rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1); lock_kernel(); err = rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1); unlock_kernel(); return err; } static int file_release(struct inode *inode, struct file *filp) Loading arch/mips/kernel/vpe.c +9 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include <linux/vmalloc.h> #include <linux/elf.h> #include <linux/seq_file.h> #include <linux/smp_lock.h> #include <linux/syscalls.h> #include <linux/moduleloader.h> #include <linux/interrupt.h> Loading Loading @@ -1050,17 +1051,20 @@ static int vpe_open(struct inode *inode, struct file *filp) enum vpe_state state; struct vpe_notifications *not; struct vpe *v; int ret; int ret, err = 0; lock_kernel(); if (minor != iminor(inode)) { /* assume only 1 device at the moment. */ printk(KERN_WARNING "VPE loader: only vpe1 is supported\n"); return -ENODEV; err = -ENODEV; goto out; } if ((v = get_vpe(tclimit)) == NULL) { printk(KERN_WARNING "VPE loader: unable to get vpe\n"); return -ENODEV; err = -ENODEV; goto out; } state = xchg(&v->state, VPE_STATE_INUSE); Loading Loading @@ -1100,6 +1104,8 @@ static int vpe_open(struct inode *inode, struct file *filp) v->shared_ptr = NULL; v->__start = 0; out: unlock_kernel(); return 0; } Loading arch/mips/sibyte/common/sb_tbprof.c +18 −7 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <linux/init.h> #include <linux/interrupt.h> #include <linux/slab.h> #include <linux/smp_lock.h> #include <linux/vmalloc.h> #include <linux/fs.h> #include <linux/errno.h> Loading Loading @@ -402,18 +403,26 @@ static int sbprof_zbprof_stop(void) static int sbprof_tb_open(struct inode *inode, struct file *filp) { int minor; int err = 0; lock_kernel(); minor = iminor(inode); if (minor != 0) return -ENODEV; if (minor != 0) { err = -ENODEV; goto out; } if (xchg(&sbp.open, SB_OPENING) != SB_CLOSED) return -EBUSY; if (xchg(&sbp.open, SB_OPENING) != SB_CLOSED) { err = -EBUSY; goto out; } memset(&sbp, 0, sizeof(struct sbprof_tb)); sbp.sbprof_tbbuf = vmalloc(MAX_TBSAMPLE_BYTES); if (!sbp.sbprof_tbbuf) return -ENOMEM; if (!sbp.sbprof_tbbuf) { err = -ENOMEM; goto out; } memset(sbp.sbprof_tbbuf, 0, MAX_TBSAMPLE_BYTES); init_waitqueue_head(&sbp.tb_sync); init_waitqueue_head(&sbp.tb_read); Loading @@ -421,7 +430,9 @@ static int sbprof_tb_open(struct inode *inode, struct file *filp) sbp.open = SB_OPEN; return 0; out: unlock_kernel(); return err; } static int sbprof_tb_release(struct inode *inode, struct file *filp) Loading Loading
arch/mips/kernel/rtlx.c +6 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <linux/vmalloc.h> #include <linux/elf.h> #include <linux/seq_file.h> #include <linux/smp_lock.h> #include <linux/syscalls.h> #include <linux/moduleloader.h> #include <linux/interrupt.h> Loading Loading @@ -392,8 +393,12 @@ out: static int file_open(struct inode *inode, struct file *filp) { int minor = iminor(inode); int err; return rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1); lock_kernel(); err = rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1); unlock_kernel(); return err; } static int file_release(struct inode *inode, struct file *filp) Loading
arch/mips/kernel/vpe.c +9 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include <linux/vmalloc.h> #include <linux/elf.h> #include <linux/seq_file.h> #include <linux/smp_lock.h> #include <linux/syscalls.h> #include <linux/moduleloader.h> #include <linux/interrupt.h> Loading Loading @@ -1050,17 +1051,20 @@ static int vpe_open(struct inode *inode, struct file *filp) enum vpe_state state; struct vpe_notifications *not; struct vpe *v; int ret; int ret, err = 0; lock_kernel(); if (minor != iminor(inode)) { /* assume only 1 device at the moment. */ printk(KERN_WARNING "VPE loader: only vpe1 is supported\n"); return -ENODEV; err = -ENODEV; goto out; } if ((v = get_vpe(tclimit)) == NULL) { printk(KERN_WARNING "VPE loader: unable to get vpe\n"); return -ENODEV; err = -ENODEV; goto out; } state = xchg(&v->state, VPE_STATE_INUSE); Loading Loading @@ -1100,6 +1104,8 @@ static int vpe_open(struct inode *inode, struct file *filp) v->shared_ptr = NULL; v->__start = 0; out: unlock_kernel(); return 0; } Loading
arch/mips/sibyte/common/sb_tbprof.c +18 −7 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <linux/init.h> #include <linux/interrupt.h> #include <linux/slab.h> #include <linux/smp_lock.h> #include <linux/vmalloc.h> #include <linux/fs.h> #include <linux/errno.h> Loading Loading @@ -402,18 +403,26 @@ static int sbprof_zbprof_stop(void) static int sbprof_tb_open(struct inode *inode, struct file *filp) { int minor; int err = 0; lock_kernel(); minor = iminor(inode); if (minor != 0) return -ENODEV; if (minor != 0) { err = -ENODEV; goto out; } if (xchg(&sbp.open, SB_OPENING) != SB_CLOSED) return -EBUSY; if (xchg(&sbp.open, SB_OPENING) != SB_CLOSED) { err = -EBUSY; goto out; } memset(&sbp, 0, sizeof(struct sbprof_tb)); sbp.sbprof_tbbuf = vmalloc(MAX_TBSAMPLE_BYTES); if (!sbp.sbprof_tbbuf) return -ENOMEM; if (!sbp.sbprof_tbbuf) { err = -ENOMEM; goto out; } memset(sbp.sbprof_tbbuf, 0, MAX_TBSAMPLE_BYTES); init_waitqueue_head(&sbp.tb_sync); init_waitqueue_head(&sbp.tb_read); Loading @@ -421,7 +430,9 @@ static int sbprof_tb_open(struct inode *inode, struct file *filp) sbp.open = SB_OPEN; return 0; out: unlock_kernel(); return err; } static int sbprof_tb_release(struct inode *inode, struct file *filp) Loading