summaryrefslogtreecommitdiffstats
path: root/net/ipv4/inet_connection_sock.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2012-02-09 23:54:09 +0100
committerRafael J. Wysocki <rjw@sisk.pl>2012-02-09 23:54:09 +0100
commit3ed3c7b559f3cae7a5a92860a127ceb0cafd5a9c (patch)
treec8ab8e608222f07edf46a42e6ec3cb27ac4ceaa0 /net/ipv4/inet_connection_sock.c
parentPM / Sleep: Introduce generic callbacks for new device PM phases (diff)
parentPM / QoS: CPU C-state breakage with PM Qos change (diff)
downloadlinux-3ed3c7b559f3cae7a5a92860a127ceb0cafd5a9c.tar.xz
linux-3ed3c7b559f3cae7a5a92860a127ceb0cafd5a9c.zip
Merge commit 'pm-fixes-for-3.3-rc3' into pm-sleep
New material in the pm-sleep branch depends on recent power management fixes.
Diffstat (limited to 'net/ipv4/inet_connection_sock.c')
-rw-r--r--net/ipv4/inet_connection_sock.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index 2e4e24476c4c..19d66cefd7d3 100644
--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -123,11 +123,14 @@ again:
smallest_size = tb->num_owners;
smallest_rover = rover;
if (atomic_read(&hashinfo->bsockets) > (high - low) + 1) {
- spin_unlock(&head->lock);
snum = smallest_rover;
- goto have_snum;
+ goto tb_found;
}
}
+ if (!inet_csk(sk)->icsk_af_ops->bind_conflict(sk, tb)) {
+ snum = rover;
+ goto tb_found;
+ }
goto next;
}
break;