]> err.no Git - linux-2.6/blobdiff - net/ipv4/tcp_ipv4.c
[TCP]: Optimize check in port-allocation code.
[linux-2.6] / net / ipv4 / tcp_ipv4.c
index 3ac6659869c41eb824bed89dcda58de5ae44d14d..dad98e4a50431906f3b98ec3725cd9204813363a 100644 (file)
@@ -222,10 +222,13 @@ static int tcp_v4_get_port(struct sock *sk, unsigned short snum)
                int rover;
 
                spin_lock(&tcp_portalloc_lock);
-               rover = tcp_port_rover;
+               if (tcp_port_rover < low)
+                       rover = low;
+               else
+                       rover = tcp_port_rover;
                do {
                        rover++;
-                       if (rover < low || rover > high)
+                       if (rover > high)
                                rover = low;
                        head = &tcp_bhash[tcp_bhashfn(rover)];
                        spin_lock(&head->lock);