diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
index ead323e5673952a5bc13aafb66691ac7505aec4d..2cd8dc5847b4432f5d0567e0cb7bc083e7a63fa3 100644
--- a/drivers/net/phy/dp83640.c
+++ b/drivers/net/phy/dp83640.c
@@ -1044,8 +1044,8 @@ static bool dp83640_rxtstamp(struct phy_device *phydev,
 
 	if (is_status_frame(skb, type)) {
 		decode_status_frame(dp83640, skb);
-		/* Let the stack drop this frame. */
-		return false;
+		kfree_skb(skb);
+		return true;
 	}
 
 	SKB_PTP_TYPE(skb) = type;