[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190204.085542.854494905866961416.davem@davemloft.net>
Date: Mon, 04 Feb 2019 08:55:42 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: bigeasy@...utronix.de
Cc: andrew@...n.ch, richardcochran@...il.com, f.fainelli@...il.com,
hkallweit1@...il.com, netdev@...r.kernel.org
Subject: Re: [PATCH net v3] net: dp83640: expire old TX-skb
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Date: Mon, 4 Feb 2019 11:20:29 +0100
> During sendmsg() a cloned skb is saved via dp83640_txtstamp() in
> ->tx_queue. After the NIC sends this packet, the PHY will reply with a
> timestamp for that TX packet. If the cable is pulled at the right time I
> don't see that packet. It might gets flushed as part of queue shutdown
> on NIC's side.
> Once the link is up again then after the next sendmsg() we enqueue
> another skb in dp83640_txtstamp() and have two on the list. Then the PHY
> will send a reply and decode_txts() attaches it to the first skb on the
> list.
> No crash occurs since refcounting works but we are one packet behind.
> linuxptp/ptp4l usually closes the socket and opens a new one (in such a
> timeout case) so those "stale" replies never get there. However it does
> not resume normal operation anymore.
>
> Purge old skbs in decode_txts().
>
> Fixes: cb646e2b02b2 ("ptp: Added a clock driver for the National Semiconductor PHYTER.")
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
> Reviewed-by: Kurt Kanzenbach <kurt@...utronix.de>
> Acked-by: Richard Cochran <richardcochran@...il.com>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists