diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/svcsock.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index f09f7487051f..5b0fe1b66a23 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c | |||
@@ -1393,14 +1393,12 @@ svc_create_socket(struct svc_serv *serv, int protocol, struct sockaddr_in *sin) | |||
1393 | if ((error = sock_create_kern(PF_INET, type, protocol, &sock)) < 0) | 1393 | if ((error = sock_create_kern(PF_INET, type, protocol, &sock)) < 0) |
1394 | return error; | 1394 | return error; |
1395 | 1395 | ||
1396 | if (sin != NULL) { | 1396 | if (type == SOCK_STREAM) |
1397 | if (type == SOCK_STREAM) | 1397 | sock->sk->sk_reuse = 1; /* allow address reuse */ |
1398 | sock->sk->sk_reuse = 1; /* allow address reuse */ | 1398 | error = kernel_bind(sock, (struct sockaddr *) sin, |
1399 | error = kernel_bind(sock, (struct sockaddr *) sin, | 1399 | sizeof(*sin)); |
1400 | sizeof(*sin)); | 1400 | if (error < 0) |
1401 | if (error < 0) | 1401 | goto bummer; |
1402 | goto bummer; | ||
1403 | } | ||
1404 | 1402 | ||
1405 | if (protocol == IPPROTO_TCP) { | 1403 | if (protocol == IPPROTO_TCP) { |
1406 | if ((error = kernel_listen(sock, 64)) < 0) | 1404 | if ((error = kernel_listen(sock, 64)) < 0) |