[TIPC]: Connected send now checks socket state when retrying congested send.
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / net / tipc / socket.c
index 361dc342f37737de2985ddbbfb59bc8475f0e5d8..9c834fc30112c148ca02348d113e2015a3a48dd8 100644 (file)
@@ -565,15 +565,15 @@ static int send_packet(struct kiocb *iocb, struct socket *sock,
                return -ERESTARTSYS;
         }
 
-        if (unlikely(sock->state != SS_CONNECTED)) {
-                if (sock->state == SS_DISCONNECTING)
-                        res = -EPIPE;   
-                else
-                        res = -ENOTCONN;
-                goto exit;
-        }
-
         do {
+               if (unlikely(sock->state != SS_CONNECTED)) {
+                       if (sock->state == SS_DISCONNECTING)
+                               res = -EPIPE;   
+                       else
+                               res = -ENOTCONN;
+                       goto exit;
+               }
+
                 res = tipc_send(tsock->p->ref, m->msg_iovlen, m->msg_iov);
                 if (likely(res != -ELINKCONG)) {
 exit: