git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
drivers
/
input
/
misc
/
uinput.c
diff --git
a/drivers/input/misc/uinput.c
b/drivers/input/misc/uinput.c
index
d723e9a
..
546ed9b
100644
(file)
--- a/
drivers/input/misc/uinput.c
+++ b/
drivers/input/misc/uinput.c
@@
-194,7
+194,7
@@
static int uinput_open(struct inode *inode, struct file *file)
if (!newdev)
return -ENOMEM;
if (!newdev)
return -ENOMEM;
-
mutex_init(&newdev->mutex
);
+
init_MUTEX(&newdev->sem
);
spin_lock_init(&newdev->requests_lock);
init_waitqueue_head(&newdev->requests_waitq);
init_waitqueue_head(&newdev->waitq);
spin_lock_init(&newdev->requests_lock);
init_waitqueue_head(&newdev->requests_waitq);
init_waitqueue_head(&newdev->waitq);
@@
-340,7
+340,7
@@
static ssize_t uinput_write(struct file *file, const char __user *buffer, size_t
struct uinput_device *udev = file->private_data;
int retval;
struct uinput_device *udev = file->private_data;
int retval;
- retval =
mutex_lock_interruptible(&udev->mutex
);
+ retval =
down_interruptible(&udev->sem
);
if (retval)
return retval;
if (retval)
return retval;
@@
-348,7
+348,7
@@
static ssize_t uinput_write(struct file *file, const char __user *buffer, size_t
uinput_inject_event(udev, buffer, count) :
uinput_setup_device(udev, buffer, count);
uinput_inject_event(udev, buffer, count) :
uinput_setup_device(udev, buffer, count);
-
mutex_unlock(&udev->mutex
);
+
up(&udev->sem
);
return retval;
}
return retval;
}
@@
-369,7
+369,7
@@
static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count,
if (retval)
return retval;
if (retval)
return retval;
- retval =
mutex_lock_interruptible(&udev->mutex
);
+ retval =
down_interruptible(&udev->sem
);
if (retval)
return retval;
if (retval)
return retval;
@@
-388,7
+388,7
@@
static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count,
}
out:
}
out:
-
mutex_unlock(&udev->mutex
);
+
up(&udev->sem
);
return retval;
}
return retval;
}
@@
-439,7
+439,7
@@
static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
udev = file->private_data;
udev = file->private_data;
- retval =
mutex_lock_interruptible(&udev->mutex
);
+ retval =
down_interruptible(&udev->sem
);
if (retval)
return retval;
if (retval)
return retval;
@@
-589,7
+589,7
@@
static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
}
out:
}
out:
-
mutex_unlock(&udev->mutex
);
+
up(&udev->sem
);
return retval;
}
return retval;
}