diff options
Diffstat (limited to 'net/ipv4/inet_connection_sock.c')
-rw-r--r-- | net/ipv4/inet_connection_sock.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index ecd19b5a7ee2..19d66cefd7d3 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c | |||
@@ -123,15 +123,13 @@ again: | |||
123 | smallest_size = tb->num_owners; | 123 | smallest_size = tb->num_owners; |
124 | smallest_rover = rover; | 124 | smallest_rover = rover; |
125 | if (atomic_read(&hashinfo->bsockets) > (high - low) + 1) { | 125 | if (atomic_read(&hashinfo->bsockets) > (high - low) + 1) { |
126 | spin_unlock(&head->lock); | ||
127 | snum = smallest_rover; | 126 | snum = smallest_rover; |
128 | goto have_snum; | 127 | goto tb_found; |
129 | } | 128 | } |
130 | } | 129 | } |
131 | if (!inet_csk(sk)->icsk_af_ops->bind_conflict(sk, tb)) { | 130 | if (!inet_csk(sk)->icsk_af_ops->bind_conflict(sk, tb)) { |
132 | spin_unlock(&head->lock); | ||
133 | snum = rover; | 131 | snum = rover; |
134 | goto have_snum; | 132 | goto tb_found; |
135 | } | 133 | } |
136 | goto next; | 134 | goto next; |
137 | } | 135 | } |