summaryrefslogtreecommitdiffstats
path: root/src/kernel/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/core.c')
-rw-r--r--src/kernel/core.c5
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);
+ }
}
/**