mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: Documentation/powerpc/booting-without-of.txt drivers/atm/Makefile drivers/net/fs_enet/fs_enet-main.c drivers/pci/pci-acpi.c net/8021q/vlan.c net/iucv/iucv.c
This commit is contained in:
commit
49997d7515
4133 changed files with 269990 additions and 291948 deletions
|
|
@ -20,6 +20,7 @@
|
|||
#include <linux/signal.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/wait.h>
|
||||
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
|
||||
|
|
@ -983,13 +984,17 @@ capi_ioctl(struct inode *inode, struct file *file,
|
|||
static int
|
||||
capi_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
int ret;
|
||||
|
||||
lock_kernel();
|
||||
if (file->private_data)
|
||||
return -EEXIST;
|
||||
|
||||
if ((file->private_data = capidev_alloc()) == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
return nonseekable_open(inode, file);
|
||||
ret = -EEXIST;
|
||||
else if ((file->private_data = capidev_alloc()) == NULL)
|
||||
ret = -ENOMEM;
|
||||
else
|
||||
ret = nonseekable_open(inode, file);
|
||||
unlock_kernel();
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/poll.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
#include "platform.h"
|
||||
|
|
@ -127,14 +128,19 @@ static unsigned int maint_poll(struct file *file, poll_table * wait)
|
|||
|
||||
static int maint_open(struct inode *ino, struct file *filep)
|
||||
{
|
||||
int ret;
|
||||
|
||||
lock_kernel();
|
||||
/* only one open is allowed, so we test
|
||||
it atomically */
|
||||
if (test_and_set_bit(0, &opened))
|
||||
return (-EBUSY);
|
||||
|
||||
filep->private_data = NULL;
|
||||
|
||||
return nonseekable_open(ino, filep);
|
||||
ret = -EBUSY;
|
||||
else {
|
||||
filep->private_data = NULL;
|
||||
ret = nonseekable_open(ino, filep);
|
||||
}
|
||||
unlock_kernel();
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int maint_close(struct inode *ino, struct file *filep)
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
#include <linux/poll.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/skbuff.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
#include "platform.h"
|
||||
|
|
@ -400,6 +401,7 @@ static unsigned int um_idi_poll(struct file *file, poll_table * wait)
|
|||
|
||||
static int um_idi_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
cycle_kernel_lock();
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/list.h>
|
||||
#include <linux/poll.h>
|
||||
#include <linux/kmod.h>
|
||||
#include <linux/smp_lock.h>
|
||||
|
||||
#include "platform.h"
|
||||
#undef ID_MASK
|
||||
|
|
@ -580,6 +581,7 @@ xdi_copy_from_user(void *os_handle, void *dst, const void __user *src, int lengt
|
|||
*/
|
||||
static int divas_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
cycle_kernel_lock();
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1732,7 +1732,7 @@ isdn_open(struct inode *ino, struct file *filep)
|
|||
int chidx;
|
||||
int retval = -ENODEV;
|
||||
|
||||
|
||||
lock_kernel();
|
||||
if (minor == ISDN_MINOR_STATUS) {
|
||||
infostruct *p;
|
||||
|
||||
|
|
@ -1783,6 +1783,7 @@ isdn_open(struct inode *ino, struct file *filep)
|
|||
#endif
|
||||
out:
|
||||
nonseekable_open(ino, filep);
|
||||
unlock_kernel();
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
|
@ -1977,8 +1978,10 @@ isdn_writebuf_stub(int drvidx, int chan, const u_char __user * buf, int len)
|
|||
if (!skb)
|
||||
return -ENOMEM;
|
||||
skb_reserve(skb, hl);
|
||||
if (copy_from_user(skb_put(skb, len), buf, len))
|
||||
if (copy_from_user(skb_put(skb, len), buf, len)) {
|
||||
dev_kfree_skb(skb);
|
||||
return -EFAULT;
|
||||
}
|
||||
ret = dev->drv[drvidx]->interface->writebuf_skb(drvidx, chan, 1, skb);
|
||||
if (ret <= 0)
|
||||
dev_kfree_skb(skb);
|
||||
|
|
|
|||
Loading…
Reference in a new issue