diff options
-rw-r--r-- | drivers/block/nbd.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index bf0de3018cde..137b45f7f6c6 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c | |||
@@ -119,12 +119,13 @@ static void nbd_end_request(struct nbd_device *nbd, struct request *req) | |||
119 | */ | 119 | */ |
120 | static void sock_shutdown(struct nbd_device *nbd) | 120 | static void sock_shutdown(struct nbd_device *nbd) |
121 | { | 121 | { |
122 | if (nbd->sock) { | 122 | if (!nbd->sock) |
123 | dev_warn(disk_to_dev(nbd->disk), "shutting down socket\n"); | 123 | return; |
124 | kernel_sock_shutdown(nbd->sock, SHUT_RDWR); | 124 | |
125 | nbd->sock = NULL; | 125 | dev_warn(disk_to_dev(nbd->disk), "shutting down socket\n"); |
126 | del_timer_sync(&nbd->timeout_timer); | 126 | kernel_sock_shutdown(nbd->sock, SHUT_RDWR); |
127 | } | 127 | nbd->sock = NULL; |
128 | del_timer_sync(&nbd->timeout_timer); | ||
128 | } | 129 | } |
129 | 130 | ||
130 | static void nbd_xmit_timeout(unsigned long arg) | 131 | static void nbd_xmit_timeout(unsigned long arg) |