diff mbox series

[4.19,12/15] net: macb driver, check for SKBTX_HW_TSTAMP

Message ID 20191202103050.2668-12-lee.jones@linaro.org
State New
Headers show
Series [4.19,01/15] clk: at91: fix update bit maps on CFG_MOR write | expand

Commit Message

Lee Jones Dec. 2, 2019, 10:30 a.m. UTC
From: Paul Thomas <pthomas8589@gmail.com>


[ Upstream commit a62520473f15750cd1432d36b377a06cd7cff8d2 ]

Make sure SKBTX_HW_TSTAMP (i.e. SOF_TIMESTAMPING_TX_HARDWARE) has been
enabled for this skb. It does fix the issue where normal socks that
aren't expecting a timestamp will not wake up on select, but when a
user does want a SOF_TIMESTAMPING_TX_HARDWARE it does work.

Signed-off-by: Paul Thomas <pthomas8589@gmail.com>

Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Lee Jones <lee.jones@linaro.org>

---
 drivers/net/ethernet/cadence/macb_main.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

-- 
2.24.0
diff mbox series

Patch

diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index d98077ab306b..005fee2dd0e6 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -860,7 +860,9 @@  static void macb_tx_interrupt(struct macb_queue *queue)
 
 			/* First, update TX stats if needed */
 			if (skb) {
-				if (gem_ptp_do_txstamp(queue, skb, desc) == 0) {
+				if (unlikely(skb_shinfo(skb)->tx_flags &
+					     SKBTX_HW_TSTAMP) &&
+				    gem_ptp_do_txstamp(queue, skb, desc) == 0) {
 					/* skb now belongs to timestamp buffer
 					 * and will be removed later
 					 */