aboutsummaryrefslogtreecommitdiff
path: root/sound/oss/ad1889.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-03-24 12:29:39 -0500
committerJeff Garzik <jeff@garzik.org>2006-03-24 12:29:39 -0500
commit4bbf7bc4c7bf1c80ec3c942fa5f1b6e6fa67dd99 (patch)
treec4ff89dc09abe69d58db1e14da22ecda9fdd3ce8 /sound/oss/ad1889.c
parent84ac69e8bf9f36eb0166817373336d14fa58f5cc (diff)
parentaec5c3c1a929d7d79a420e943285cf3ba26a7c0d (diff)
Merge branch 'upstream'
Conflicts: drivers/scsi/libata-core.c
Diffstat (limited to 'sound/oss/ad1889.c')
-rw-r--r--sound/oss/ad1889.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/oss/ad1889.c b/sound/oss/ad1889.c
index a0d73f34310..54dabf86280 100644
--- a/sound/oss/ad1889.c
+++ b/sound/oss/ad1889.c
@@ -38,6 +38,7 @@
#include <linux/ac97_codec.h>
#include <linux/sound.h>
#include <linux/interrupt.h>
+#include <linux/mutex.h>
#include <asm/delay.h>
#include <asm/io.h>
@@ -238,7 +239,7 @@ static ad1889_dev_t *ad1889_alloc_dev(struct pci_dev *pci)
for (i = 0; i < AD_MAX_STATES; i++) {
dev->state[i].card = dev;
- init_MUTEX(&dev->state[i].sem);
+ mutex_init(&dev->state[i].mutex);
init_waitqueue_head(&dev->state[i].dmabuf.wait);
}
@@ -461,7 +462,7 @@ static ssize_t ad1889_write(struct file *file, const char __user *buffer, size_t
ssize_t ret = 0;
DECLARE_WAITQUEUE(wait, current);
- down(&state->sem);
+ mutex_lock(&state->mutex);
#if 0
if (dmabuf->mapped) {
ret = -ENXIO;
@@ -546,7 +547,7 @@ static ssize_t ad1889_write(struct file *file, const char __user *buffer, size_t
err2:
remove_wait_queue(&state->dmabuf.wait, &wait);
err1:
- up(&state->sem);
+ mutex_unlock(&state->mutex);
return ret;
}