Commit ae6e86b7fb15520ac64513ad643de63e0b077aa5

Authored by Richard Cochran
Committed by David S. Miller
1 parent 2331038a96

dp83640: drop PHY status frames in the driver.

The dp83640 PHY provides time stamp and other information via special
PHY status frames. Previously, the driver decoded the frames and then
let the network stack drop them. This works fine when the PTP messages
come over UDP.

However, when receiving PTP messages via L2 packets, this creates a
problem. The status frames use the official PTP destination MAC address,
and so they are delivered to user space along with the "real" frames,
causing confusion for applications.

This commit fixes the issue by simply dropping the PHY status frames
in the driver.

Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>

Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff

drivers/net/phy/dp83640.c
... ... @@ -1044,8 +1044,8 @@
1044 1044  
1045 1045 if (is_status_frame(skb, type)) {
1046 1046 decode_status_frame(dp83640, skb);
1047   - /* Let the stack drop this frame. */
1048   - return false;
  1047 + kfree_skb(skb);
  1048 + return true;
1049 1049 }
1050 1050  
1051 1051 SKB_PTP_TYPE(skb) = type;