|
@@ -3173,14 +3173,18 @@ void drbd_free_bc(struct drbd_backing_dev *ldev)
|
|
|
void drbd_free_sock(struct drbd_conf *mdev)
|
|
|
{
|
|
|
if (mdev->data.socket) {
|
|
|
+ mutex_lock(&mdev->data.mutex);
|
|
|
kernel_sock_shutdown(mdev->data.socket, SHUT_RDWR);
|
|
|
sock_release(mdev->data.socket);
|
|
|
mdev->data.socket = NULL;
|
|
|
+ mutex_unlock(&mdev->data.mutex);
|
|
|
}
|
|
|
if (mdev->meta.socket) {
|
|
|
+ mutex_lock(&mdev->meta.mutex);
|
|
|
kernel_sock_shutdown(mdev->meta.socket, SHUT_RDWR);
|
|
|
sock_release(mdev->meta.socket);
|
|
|
mdev->meta.socket = NULL;
|
|
|
+ mutex_unlock(&mdev->meta.mutex);
|
|
|
}
|
|
|
}
|
|
|
|