aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJosef 'Jeff' Sipek <jeffpc@josefsipek.net>2008-03-07 12:39:13 -0500
committerEric Van Hensbergen <ericvh@opteron.9grid.us>2008-05-14 20:23:26 -0400
commitc1549497e903a1ffa1c5808337a987180e480e7a (patch)
tree29447ac296b52f69459022d2f44e7bfe5371af01 /net
parentbb8ffdfc3e3b32ad9fcdb8da289088d3b22794e5 (diff)
9p: use struct mutex instead of struct semaphore
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>
Diffstat (limited to 'net')
-rw-r--r--net/9p/trans_virtio.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
index 0bab1f23590e..d23ed60483c3 100644
--- a/net/9p/trans_virtio.c
+++ b/net/9p/trans_virtio.c
@@ -49,7 +49,7 @@
49#define VIRTQUEUE_NUM 128 49#define VIRTQUEUE_NUM 128
50 50
51/* a single mutex to manage channel initialization and attachment */ 51/* a single mutex to manage channel initialization and attachment */
52static DECLARE_MUTEX(virtio_9p_lock); 52static DEFINE_MUTEX(virtio_9p_lock);
53/* global which tracks highest initialized channel */ 53/* global which tracks highest initialized channel */
54static int chan_index; 54static int chan_index;
55 55
@@ -211,9 +211,9 @@ static void p9_virtio_close(struct p9_trans *trans)
211 chan->max_tag = 0; 211 chan->max_tag = 0;
212 spin_unlock_irqrestore(&chan->lock, flags); 212 spin_unlock_irqrestore(&chan->lock, flags);
213 213
214 down(&virtio_9p_lock); 214 mutex_lock(&virtio_9p_lock);
215 chan->inuse = false; 215 chan->inuse = false;
216 up(&virtio_9p_lock); 216 mutex_unlock(&virtio_9p_lock);
217 217
218 kfree(trans); 218 kfree(trans);
219} 219}
@@ -381,10 +381,10 @@ static int p9_virtio_probe(struct virtio_device *vdev)
381 struct virtio_chan *chan; 381 struct virtio_chan *chan;
382 int index; 382 int index;
383 383
384 down(&virtio_9p_lock); 384 mutex_lock(&virtio_9p_lock);
385 index = chan_index++; 385 index = chan_index++;
386 chan = &channels[index]; 386 chan = &channels[index];
387 up(&virtio_9p_lock); 387 mutex_unlock(&virtio_9p_lock);
388 388
389 if (chan_index > MAX_9P_CHAN) { 389 if (chan_index > MAX_9P_CHAN) {
390 printk(KERN_ERR "9p: virtio: Maximum channels exceeded\n"); 390 printk(KERN_ERR "9p: virtio: Maximum channels exceeded\n");
@@ -413,9 +413,9 @@ static int p9_virtio_probe(struct virtio_device *vdev)
413out_free_vq: 413out_free_vq:
414 vdev->config->del_vq(chan->vq); 414 vdev->config->del_vq(chan->vq);
415fail: 415fail:
416 down(&virtio_9p_lock); 416 mutex_lock(&virtio_9p_lock);
417 chan_index--; 417 chan_index--;
418 up(&virtio_9p_lock); 418 mutex_unlock(&virtio_9p_lock);
419 return err; 419 return err;
420} 420}
421 421
@@ -449,7 +449,7 @@ p9_virtio_create(const char *devname, char *args, int msize,
449 struct virtio_chan *chan = channels; 449 struct virtio_chan *chan = channels;
450 int index = 0; 450 int index = 0;
451 451
452 down(&virtio_9p_lock); 452 mutex_lock(&virtio_9p_lock);
453 while (index < MAX_9P_CHAN) { 453 while (index < MAX_9P_CHAN) {
454 if (chan->initialized && !chan->inuse) { 454 if (chan->initialized && !chan->inuse) {
455 chan->inuse = true; 455 chan->inuse = true;
@@ -459,7 +459,7 @@ p9_virtio_create(const char *devname, char *args, int msize,
459 chan = &channels[index]; 459 chan = &channels[index];
460 } 460 }
461 } 461 }
462 up(&virtio_9p_lock); 462 mutex_unlock(&virtio_9p_lock);
463 463
464 if (index >= MAX_9P_CHAN) { 464 if (index >= MAX_9P_CHAN) {
465 printk(KERN_ERR "9p: no channels available\n"); 465 printk(KERN_ERR "9p: no channels available\n");