aboutsummaryrefslogtreecommitdiffstats
path: root/net/9p/trans_virtio.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/9p/trans_virtio.c')
-rw-r--r--net/9p/trans_virtio.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
index cb50f4ae5eef..df924e5657d3 100644
--- a/net/9p/trans_virtio.c
+++ b/net/9p/trans_virtio.c
@@ -296,13 +296,15 @@ p9_virtio_create(struct p9_client *client, const char *devname, char *args)
296 296
297 mutex_lock(&virtio_9p_lock); 297 mutex_lock(&virtio_9p_lock);
298 while (index < MAX_9P_CHAN) { 298 while (index < MAX_9P_CHAN) {
299 if (chan->initialized && !chan->inuse) { 299 if (chan->initialized &&
300 chan->inuse = true; 300 !strcmp(devname, dev_name(&chan->vdev->dev))) {
301 break; 301 if (!chan->inuse) {
302 } else { 302 chan->inuse = true;
303 index++; 303 break;
304 chan = &channels[index]; 304 }
305 } 305 }
306 index++;
307 chan = &channels[index];
306 } 308 }
307 mutex_unlock(&virtio_9p_lock); 309 mutex_unlock(&virtio_9p_lock);
308 310