aboutsummaryrefslogtreecommitdiffstats
path: root/net/phonet
diff options
context:
space:
mode:
Diffstat (limited to 'net/phonet')
-rw-r--r--net/phonet/pep.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/net/phonet/pep.c b/net/phonet/pep.c
index c0fab4cfcef7..abfb795af142 100644
--- a/net/phonet/pep.c
+++ b/net/phonet/pep.c
@@ -853,6 +853,7 @@ static int pep_sock_connect(struct sock *sk, struct sockaddr *addr, int len)
853 853
854 pn->pn_sk.dobject = pn_sockaddr_get_object(spn); 854 pn->pn_sk.dobject = pn_sockaddr_get_object(spn);
855 pn->pn_sk.resource = pn_sockaddr_get_resource(spn); 855 pn->pn_sk.resource = pn_sockaddr_get_resource(spn);
856 pn->pipe_handle = 1; /* anything but INVALID_HANDLE */
856 return pipe_handler_request(sk, PNS_PEP_CONNECT_REQ, 857 return pipe_handler_request(sk, PNS_PEP_CONNECT_REQ,
857 PN_PIPE_DISABLE, data, 4); 858 PN_PIPE_DISABLE, data, 4);
858} 859}
@@ -909,14 +910,6 @@ static int pep_setsockopt(struct sock *sk, int level, int optname,
909 910
910 lock_sock(sk); 911 lock_sock(sk);
911 switch (optname) { 912 switch (optname) {
912#ifdef CONFIG_PHONET_PIPECTRLR
913 case PNPIPE_PIPE_HANDLE:
914 if (val) {
915 pn->pipe_handle = val;
916 break;
917 }
918#endif
919
920 case PNPIPE_ENCAP: 913 case PNPIPE_ENCAP:
921 if (val && val != PNPIPE_ENCAP_IP) { 914 if (val && val != PNPIPE_ENCAP_IP) {
922 err = -EINVAL; 915 err = -EINVAL;
@@ -982,6 +975,12 @@ static int pep_getsockopt(struct sock *sk, int level, int optname,
982 val = pn->ifindex; 975 val = pn->ifindex;
983 break; 976 break;
984 977
978 case PNPIPE_HANDLE:
979 val = pn->pipe_handle;
980 if (val == PN_PIPE_INVALID_HANDLE)
981 return -EINVAL;
982 break;
983
985#ifdef CONFIG_PHONET_PIPECTRLR 984#ifdef CONFIG_PHONET_PIPECTRLR
986 case PNPIPE_ENABLE: 985 case PNPIPE_ENABLE:
987 val = sk->sk_state == TCP_ESTABLISHED; 986 val = sk->sk_state == TCP_ESTABLISHED;