9p: use struct mutex instead of struct semaphore
authorJosef 'Jeff' Sipek <jeffpc@josefsipek.net>
Fri, 7 Mar 2008 17:39:13 +0000 (11:39 -0600)
committerEric Van Hensbergen <ericvh@opteron.9grid.us>
Thu, 15 May 2008 00:23:26 +0000 (19:23 -0500)
Replace semaphores protecting use flags with a mutex.

Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
net/9p/trans_virtio.c

index 0bab1f23590e3b1ef44ad49f81d86dbcf7830920..d23ed60483c37b38b77f933a52bd71b4ee1b4794 100644 (file)
@@ -49,7 +49,7 @@
 #define VIRTQUEUE_NUM  128
 
 /* a single mutex to manage channel initialization and attachment */
-static DECLARE_MUTEX(virtio_9p_lock);
+static DEFINE_MUTEX(virtio_9p_lock);
 /* global which tracks highest initialized channel */
 static int chan_index;
 
@@ -211,9 +211,9 @@ static void p9_virtio_close(struct p9_trans *trans)
        chan->max_tag = 0;
        spin_unlock_irqrestore(&chan->lock, flags);
 
-       down(&virtio_9p_lock);
+       mutex_lock(&virtio_9p_lock);
        chan->inuse = false;
-       up(&virtio_9p_lock);
+       mutex_unlock(&virtio_9p_lock);
 
        kfree(trans);
 }
@@ -381,10 +381,10 @@ static int p9_virtio_probe(struct virtio_device *vdev)
        struct virtio_chan *chan;
        int index;
 
-       down(&virtio_9p_lock);
+       mutex_lock(&virtio_9p_lock);
        index = chan_index++;
        chan = &channels[index];
-       up(&virtio_9p_lock);
+       mutex_unlock(&virtio_9p_lock);
 
        if (chan_index > MAX_9P_CHAN) {
                printk(KERN_ERR "9p: virtio: Maximum channels exceeded\n");
@@ -413,9 +413,9 @@ static int p9_virtio_probe(struct virtio_device *vdev)
 out_free_vq:
        vdev->config->del_vq(chan->vq);
 fail:
-       down(&virtio_9p_lock);
+       mutex_lock(&virtio_9p_lock);
        chan_index--;
-       up(&virtio_9p_lock);
+       mutex_unlock(&virtio_9p_lock);
        return err;
 }
 
@@ -449,7 +449,7 @@ p9_virtio_create(const char *devname, char *args, int msize,
        struct virtio_chan *chan = channels;
        int index = 0;
 
-       down(&virtio_9p_lock);
+       mutex_lock(&virtio_9p_lock);
        while (index < MAX_9P_CHAN) {
                if (chan->initialized && !chan->inuse) {
                        chan->inuse = true;
@@ -459,7 +459,7 @@ p9_virtio_create(const char *devname, char *args, int msize,
                        chan = &channels[index];
                }
        }
-       up(&virtio_9p_lock);
+       mutex_unlock(&virtio_9p_lock);
 
        if (index >= MAX_9P_CHAN) {
                printk(KERN_ERR "9p: no channels available\n");