aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/core/sock.c4
-rw-r--r--net/socket.c12
2 files changed, 4 insertions, 12 deletions
diff --git a/net/core/sock.c b/net/core/sock.c
index ca9b65199d28..134291d73fcd 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -862,8 +862,6 @@ set_rcvbuf:
862 (1UL << SOCK_TIMESTAMPING_RX_SOFTWARE)); 862 (1UL << SOCK_TIMESTAMPING_RX_SOFTWARE));
863 sock_valbool_flag(sk, SOCK_TIMESTAMPING_SOFTWARE, 863 sock_valbool_flag(sk, SOCK_TIMESTAMPING_SOFTWARE,
864 val & SOF_TIMESTAMPING_SOFTWARE); 864 val & SOF_TIMESTAMPING_SOFTWARE);
865 sock_valbool_flag(sk, SOCK_TIMESTAMPING_SYS_HARDWARE,
866 val & SOF_TIMESTAMPING_SYS_HARDWARE);
867 sock_valbool_flag(sk, SOCK_TIMESTAMPING_RAW_HARDWARE, 865 sock_valbool_flag(sk, SOCK_TIMESTAMPING_RAW_HARDWARE,
868 val & SOF_TIMESTAMPING_RAW_HARDWARE); 866 val & SOF_TIMESTAMPING_RAW_HARDWARE);
869 break; 867 break;
@@ -1102,8 +1100,6 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
1102 v.val |= SOF_TIMESTAMPING_RX_SOFTWARE; 1100 v.val |= SOF_TIMESTAMPING_RX_SOFTWARE;
1103 if (sock_flag(sk, SOCK_TIMESTAMPING_SOFTWARE)) 1101 if (sock_flag(sk, SOCK_TIMESTAMPING_SOFTWARE))
1104 v.val |= SOF_TIMESTAMPING_SOFTWARE; 1102 v.val |= SOF_TIMESTAMPING_SOFTWARE;
1105 if (sock_flag(sk, SOCK_TIMESTAMPING_SYS_HARDWARE))
1106 v.val |= SOF_TIMESTAMPING_SYS_HARDWARE;
1107 if (sock_flag(sk, SOCK_TIMESTAMPING_RAW_HARDWARE)) 1103 if (sock_flag(sk, SOCK_TIMESTAMPING_RAW_HARDWARE))
1108 v.val |= SOF_TIMESTAMPING_RAW_HARDWARE; 1104 v.val |= SOF_TIMESTAMPING_RAW_HARDWARE;
1109 break; 1105 break;
diff --git a/net/socket.c b/net/socket.c
index abf56b2a14f9..d8222c025061 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -725,14 +725,10 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk,
725 if (sock_flag(sk, SOCK_TIMESTAMPING_SOFTWARE) && 725 if (sock_flag(sk, SOCK_TIMESTAMPING_SOFTWARE) &&
726 ktime_to_timespec_cond(skb->tstamp, ts + 0)) 726 ktime_to_timespec_cond(skb->tstamp, ts + 0))
727 empty = 0; 727 empty = 0;
728 if (shhwtstamps) { 728 if (shhwtstamps &&
729 if (sock_flag(sk, SOCK_TIMESTAMPING_SYS_HARDWARE) && 729 sock_flag(sk, SOCK_TIMESTAMPING_RAW_HARDWARE) &&
730 ktime_to_timespec_cond(shhwtstamps->syststamp, ts + 1)) 730 ktime_to_timespec_cond(shhwtstamps->hwtstamp, ts + 2))
731 empty = 0; 731 empty = 0;
732 if (sock_flag(sk, SOCK_TIMESTAMPING_RAW_HARDWARE) &&
733 ktime_to_timespec_cond(shhwtstamps->hwtstamp, ts + 2))
734 empty = 0;
735 }
736 if (!empty) 732 if (!empty)
737 put_cmsg(msg, SOL_SOCKET, 733 put_cmsg(msg, SOL_SOCKET,
738 SCM_TIMESTAMPING, sizeof(ts), &ts); 734 SCM_TIMESTAMPING, sizeof(ts), &ts);