dp83640: Always decode received status frames
Currently status frames are only handled when packet timestamping is enabled, but status frames are also needed for pin event timestamping. Fix by moving packet timestamping check to after status frame decode. Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
b51ecea852
commit
a12f78c582
@ -1323,15 +1323,15 @@ static bool dp83640_rxtstamp(struct phy_device *phydev,
|
|||||||
{
|
{
|
||||||
struct dp83640_private *dp83640 = phydev->priv;
|
struct dp83640_private *dp83640 = phydev->priv;
|
||||||
|
|
||||||
if (!dp83640->hwts_rx_en)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (is_status_frame(skb, type)) {
|
if (is_status_frame(skb, type)) {
|
||||||
decode_status_frame(dp83640, skb);
|
decode_status_frame(dp83640, skb);
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!dp83640->hwts_rx_en)
|
||||||
|
return false;
|
||||||
|
|
||||||
SKB_PTP_TYPE(skb) = type;
|
SKB_PTP_TYPE(skb) = type;
|
||||||
skb_queue_tail(&dp83640->rx_queue, skb);
|
skb_queue_tail(&dp83640->rx_queue, skb);
|
||||||
schedule_work(&dp83640->ts_work);
|
schedule_work(&dp83640->ts_work);
|
||||||
|
Reference in New Issue
Block a user