Skip to content

Commit

Permalink
9p: use struct mutex instead of struct semaphore
Browse files Browse the repository at this point in the history
Replace semaphores protecting use flags with a mutex.

Signed-off-by: Josef 'Jeff' Sipek <[email protected]>
Acked-by: Eric Van Hensbergen <[email protected]>
  • Loading branch information
jeffpc authored and Eric Van Hensbergen committed May 15, 2008
1 parent bb8ffdf commit c154949
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions net/9p/trans_virtio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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);
}
Expand Down Expand Up @@ -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");
Expand Down Expand Up @@ -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;
}

Expand Down Expand Up @@ -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;
Expand All @@ -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");
Expand Down

0 comments on commit c154949

Please sign in to comment.