diff options
Diffstat (limited to 'kernel/net/core/timestamping.c')
-rw-r--r-- | kernel/net/core/timestamping.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/net/core/timestamping.c b/kernel/net/core/timestamping.c index 43d3dd62f..42689d5c4 100644 --- a/kernel/net/core/timestamping.c +++ b/kernel/net/core/timestamping.c @@ -60,11 +60,15 @@ bool skb_defer_rx_timestamp(struct sk_buff *skb) struct phy_device *phydev; unsigned int type; + if (!skb->dev || !skb->dev->phydev || !skb->dev->phydev->drv) + return false; + if (skb_headroom(skb) < ETH_HLEN) return false; + __skb_push(skb, ETH_HLEN); - type = classify(skb); + type = ptp_classify_raw(skb); __skb_pull(skb, ETH_HLEN); |