diff options
Diffstat (limited to 'src/kernel/core.c')
-rw-r--r-- | src/kernel/core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/kernel/core.c b/src/kernel/core.c index 6e5b82b..8582b5c 100644 --- a/src/kernel/core.c +++ b/src/kernel/core.c @@ -250,6 +250,7 @@ int dnbd3_add_device(struct dnbd3_device *dev, int minor) for (i = 0; i < NUMBER_CONNECTIONS; i++) { dev->socks[i].device = dev; dev->socks[i].sock_nr = i; + mutex_init(&dev->socks[i]->tx_lock); } disk = alloc_disk(1); @@ -403,6 +404,7 @@ static void dnbd3_dev_remove(struct dnbd3_device *dev) { struct gendisk *disk = dev->disk; struct request_queue *q; + int i; dnbd3_net_disconnect(dev); @@ -419,6 +421,9 @@ static void dnbd3_dev_remove(struct dnbd3_device *dev) dev->imgname = NULL; } mutex_destroy(&dev->device_lock); + for (i = 0; i < NUMBER_CONNECTIONS; i++) { + mutex_destroy(&dev->socks[i]->tx_lock); + } } /** |