Corked AF_INET for ipv6 socket doesn't appear to be the hottest case,
so move it out of the common path under up->pending check to remove
overhead.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                }
        }
 
-       if (up->pending == AF_INET)
-               return udp_sendmsg(sk, msg, len);
-
        /* Rough check on arithmetic overflow,
           better check is made in ip6_append_data().
           */
 
        getfrag  =  is_udplite ?  udplite_getfrag : ip_generic_getfrag;
        if (up->pending) {
+               if (up->pending == AF_INET)
+                       return udp_sendmsg(sk, msg, len);
                /*
                 * There are pending frames.
                 * The socket lock must be held while it's corked.