diff options
Diffstat (limited to 'drivers/isdn/capi/capi.c')
| -rw-r--r-- | drivers/isdn/capi/capi.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/isdn/capi/capi.c b/drivers/isdn/capi/capi.c index 0cabe31f26d..f80a7c48a35 100644 --- a/drivers/isdn/capi/capi.c +++ b/drivers/isdn/capi/capi.c @@ -20,7 +20,6 @@  #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>  #include <linux/tty.h> @@ -50,6 +49,7 @@ MODULE_LICENSE("GPL");  /* -------- driver information -------------------------------------- */ +static DEFINE_MUTEX(capi_mutex);  static struct class *capi_class;  static int capi_major = 68;		/* allocated */ @@ -691,7 +691,7 @@ unlock_out:  static ssize_t  capi_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)  { -	struct capidev *cdev = (struct capidev *)file->private_data; +	struct capidev *cdev = file->private_data;  	struct sk_buff *skb;  	size_t copied;  	int err; @@ -726,7 +726,7 @@ capi_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)  static ssize_t  capi_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)  { -	struct capidev *cdev = (struct capidev *)file->private_data; +	struct capidev *cdev = file->private_data;  	struct sk_buff *skb;  	u16 mlen; @@ -773,7 +773,7 @@ capi_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos  static unsigned int  capi_poll(struct file *file, poll_table * wait)  { -	struct capidev *cdev = (struct capidev *)file->private_data; +	struct capidev *cdev = file->private_data;  	unsigned int mask = 0;  	if (!cdev->ap.applid) @@ -985,9 +985,9 @@ capi_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg)  {  	int ret; -	lock_kernel(); +	mutex_lock(&capi_mutex);  	ret = capi_ioctl(file, cmd, arg); -	unlock_kernel(); +	mutex_unlock(&capi_mutex);  	return ret;  }  |