mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-09 17:01:18 -04:00
can: kvaser_usb: hydra: Set hardware timestamp on transmitted packets
Set hardware timestamp on transmitted packets. Signed-off-by: Jimmy Assarsson <extja@kvaser.com> Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Link: https://lore.kernel.org/all/20240701154936.92633-5-extja@kvaser.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
committed by
Marc Kleine-Budde
parent
0512cc691a
commit
d920dd289e
@@ -10,7 +10,6 @@
|
||||
* - Transition from CAN_STATE_ERROR_WARNING to CAN_STATE_ERROR_ACTIVE is only
|
||||
* reported after a call to do_get_berr_counter(), since firmware does not
|
||||
* distinguish between ERROR_WARNING and ERROR_ACTIVE.
|
||||
* - Hardware timestamps are not set for CAN Tx frames.
|
||||
*/
|
||||
|
||||
#include <linux/completion.h>
|
||||
@@ -1187,6 +1186,7 @@ static void kvaser_usb_hydra_tx_acknowledge(const struct kvaser_usb *dev,
|
||||
bool one_shot_fail = false;
|
||||
bool is_err_frame = false;
|
||||
u16 transid = kvaser_usb_hydra_get_cmd_transid(cmd);
|
||||
struct sk_buff *skb;
|
||||
|
||||
priv = kvaser_usb_hydra_net_priv_from_cmd(dev, cmd);
|
||||
if (!priv)
|
||||
@@ -1213,6 +1213,9 @@ static void kvaser_usb_hydra_tx_acknowledge(const struct kvaser_usb *dev,
|
||||
|
||||
spin_lock_irqsave(&priv->tx_contexts_lock, irq_flags);
|
||||
|
||||
skb = priv->can.echo_skb[context->echo_index];
|
||||
if (skb)
|
||||
skb_hwtstamps(skb)->hwtstamp = kvaser_usb_hydra_ktime_from_cmd(dev->cfg, cmd);
|
||||
len = can_get_echo_skb(priv->netdev, context->echo_index, NULL);
|
||||
context->echo_index = dev->max_tx_urbs;
|
||||
--priv->active_tx_contexts;
|
||||
|
||||
Reference in New Issue
Block a user