mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 06:10:56 +00:00
can: kvaser_pciefd: Set hardware timestamp on transmitted packets
[ Upstream commitec681b91be
] Set hardware timestamp on transmitted packets. Fixes:26ad340e58
("can: kvaser_pciefd: Add driver for Kvaser PCIEcan devices") Signed-off-by: Jimmy Assarsson <extja@kvaser.com> Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Link: https://lore.kernel.org/all/20230529134248.752036-5-extja@kvaser.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
9926e32be6
commit
1c665e621e
1 changed files with 10 additions and 2 deletions
|
@ -1519,6 +1519,7 @@ static void kvaser_pciefd_handle_nack_packet(struct kvaser_pciefd_can *can,
|
|||
|
||||
if (skb) {
|
||||
cf->can_id |= CAN_ERR_BUSERROR;
|
||||
kvaser_pciefd_set_skb_timestamp(can->kv_pcie, skb, p->timestamp);
|
||||
netif_rx(skb);
|
||||
} else {
|
||||
stats->rx_dropped++;
|
||||
|
@ -1550,8 +1551,15 @@ static int kvaser_pciefd_handle_ack_packet(struct kvaser_pciefd *pcie,
|
|||
netdev_dbg(can->can.dev, "Packet was flushed\n");
|
||||
} else {
|
||||
int echo_idx = p->header[0] & KVASER_PCIEFD_PACKET_SEQ_MSK;
|
||||
int dlc = can_get_echo_skb(can->can.dev, echo_idx, NULL);
|
||||
u8 count = ioread32(can->reg_base +
|
||||
int dlc;
|
||||
u8 count;
|
||||
struct sk_buff *skb;
|
||||
|
||||
skb = can->can.echo_skb[echo_idx];
|
||||
if (skb)
|
||||
kvaser_pciefd_set_skb_timestamp(pcie, skb, p->timestamp);
|
||||
dlc = can_get_echo_skb(can->can.dev, echo_idx, NULL);
|
||||
count = ioread32(can->reg_base +
|
||||
KVASER_PCIEFD_KCAN_TX_NPACKETS_REG) & 0xff;
|
||||
|
||||
if (count < KVASER_PCIEFD_CAN_TX_MAX_COUNT &&
|
||||
|
|
Loading…
Reference in a new issue