diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 64e6a61..264ea25 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -516,37 +516,15 @@
 
 	oldfs = get_fs();
 	set_fs(KERNEL_DS);
-
-	for (;;) {
-		rv = sock_recvmsg(mdev->data.socket, &msg, size, msg.msg_flags);
-		if (rv == size)
-			break;
-
-		/* Note:
-		 * ECONNRESET	other side closed the connection
-		 * ERESTARTSYS	(on  sock) we got a signal
-		 */
-
-		if (rv < 0) {
-			if (rv == -ECONNRESET)
-				dev_info(DEV, "sock was reset by peer\n");
-			else if (rv != -ERESTARTSYS)
-				dev_err(DEV, "sock_recvmsg returned %d\n", rv);
-			break;
-		} else if (rv == 0) {
-			break;
-		} else	{
-			/* signal came in, or peer/link went down,
-			 * after we read a partial message
-			 */
-			/* D_ASSERT(signal_pending(current)); */
-			break;
-		}
-	};
-
+	rv = sock_recvmsg(mdev->data.socket, &msg, size, msg.msg_flags);
 	set_fs(oldfs);
 
-	if (rv == 0) {
+	if (rv < 0) {
+		if (rv == -ECONNRESET)
+			dev_info(DEV, "sock was reset by peer\n");
+		else if (rv != -ERESTARTSYS)
+			dev_err(DEV, "sock_recvmsg returned %d\n", rv);
+	} else if (rv == 0) {
 		if (test_bit(DISCONNECT_SENT, &mdev->flags)) {
 			long t; /* time_left */
 			t = wait_event_timeout(mdev->state_wait, mdev->state.conn < C_CONNECTED,
