summaryrefslogtreecommitdiffstats
path: root/net/core/timestamping.c
diff options
context:
space:
mode:
authorAlexander Duyck2014-09-04 19:31:10 +0200
committerDavid S. Miller2014-09-06 02:43:45 +0200
commit37846ef0188335e49f2491a5bbf4e0dc7d407ea0 (patch)
tree29679300ee05829ae912b9af2eb05a3f96094b26 /net/core/timestamping.c
parentipv4: harden fnhe_hashfun() (diff)
downloadkernel-qcow2-linux-37846ef0188335e49f2491a5bbf4e0dc7d407ea0.tar.gz
kernel-qcow2-linux-37846ef0188335e49f2491a5bbf4e0dc7d407ea0.tar.xz
kernel-qcow2-linux-37846ef0188335e49f2491a5bbf4e0dc7d407ea0.zip
net-timestamp: Merge shared code between phy and regular timestamping
This change merges the shared bits that exist between skb_tx_tstamp and skb_complete_tx_timestamp. By doing this we can avoid the two diverging as there were already changes pushed into skb_tx_tstamp that hadn't made it into the other function. In addition this resolves issues with the fact that skb_complete_tx_timestamp was included in linux/skbuff.h even though it was only compiled in if phy timestamping was enabled. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/timestamping.c')
-rw-r--r--net/core/timestamping.c29
1 files changed, 0 insertions, 29 deletions
diff --git a/net/core/timestamping.c b/net/core/timestamping.c
index a8770391ea5b..f48a59fd8f39 100644
--- a/net/core/timestamping.c
+++ b/net/core/timestamping.c
@@ -63,35 +63,6 @@ void skb_clone_tx_timestamp(struct sk_buff *skb)
}
EXPORT_SYMBOL_GPL(skb_clone_tx_timestamp);
-void skb_complete_tx_timestamp(struct sk_buff *skb,
- struct skb_shared_hwtstamps *hwtstamps)
-{
- struct sock *sk = skb->sk;
- struct sock_exterr_skb *serr;
- int err;
-
- if (!hwtstamps) {
- sock_put(sk);
- kfree_skb(skb);
- return;
- }
-
- *skb_hwtstamps(skb) = *hwtstamps;
-
- serr = SKB_EXT_ERR(skb);
- memset(serr, 0, sizeof(*serr));
- serr->ee.ee_errno = ENOMSG;
- serr->ee.ee_origin = SO_EE_ORIGIN_TIMESTAMPING;
- skb->sk = NULL;
-
- err = sock_queue_err_skb(sk, skb);
-
- sock_put(sk);
- if (err)
- kfree_skb(skb);
-}
-EXPORT_SYMBOL_GPL(skb_complete_tx_timestamp);
-
bool skb_defer_rx_timestamp(struct sk_buff *skb)
{
struct phy_device *phydev;