aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sunrpc/svcsock.c14
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)