[PATCH net] net: lan78xx: advertise tx software timestamping support
From: Markus Bloechl <hidden>
Date: 2021-05-18 09:54:19
lan78xx already calls skb_tx_timestamp() in its lan78xx_start_xmit(). Override .get_ts_info to also advertise this capability (SOF_TIMESTAMPING_TX_SOFTWARE) via ethtool. Signed-off-by: Markus Blöchl <redacted> --- Notes: The main motivation for this patch was that e.g. linuxptp refuses to start if the driver lacks support for the required timestamping features. I also recognized that many usb ethernet drivers which use the usbnet infrastructure do not override .get_ts_info accordingly, despite calling skb_tx_timestamp() indirectly in their .ndo_start_xmit handler via usbnet_start_xmit(). For most of them the .get_ts_info override from usbnet is lost when they override .ethtool_ops again. Should they all receive a similar patch? drivers/net/usb/lan78xx.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index 6acc5e904518..02bce40a67e5 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c@@ -1645,6 +1645,7 @@ static const struct ethtool_ops lan78xx_ethtool_ops = { .get_strings = lan78xx_get_strings, .get_wol = lan78xx_get_wol, .set_wol = lan78xx_set_wol, + .get_ts_info = ethtool_op_get_ts_info, .get_eee = lan78xx_get_eee, .set_eee = lan78xx_set_eee, .get_pauseparam = lan78xx_get_pause,
base-commit: a6f8ee58a8e35f7e4380a5efce312e2a5bc27497