aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/nbd.c13
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 */
120static void sock_shutdown(struct nbd_device *nbd) 120static 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
130static void nbd_xmit_timeout(unsigned long arg) 131static void nbd_xmit_timeout(unsigned long arg)