aboutsummaryrefslogtreecommitdiffstats
path: root/lib/trace_readwrite.c
diff options
context:
space:
mode:
authorAxel Forsman <[email protected]>2025-05-20 11:43:31 +0000
committerMarc Kleine-Budde <[email protected]>2025-05-20 19:35:39 +0000
commit8256e0ca601051933e9395746817f3801fa9a6bf (patch)
tree2687ed76eb8d4c3ccbd7b4e5eb454177d833fef5 /lib/trace_readwrite.c
parentcan: kvaser_pciefd: Force IRQ edge in case of nested IRQ (diff)
downloadkernel-8256e0ca601051933e9395746817f3801fa9a6bf.tar.gz
kernel-8256e0ca601051933e9395746817f3801fa9a6bf.zip
can: kvaser_pciefd: Fix echo_skb race
The functions kvaser_pciefd_start_xmit() and kvaser_pciefd_handle_ack_packet() raced to stop/wake TX queues and get/put echo skbs, as kvaser_pciefd_can->echo_lock was only ever taken when transmitting and KCAN_TX_NR_PACKETS_CURRENT gets decremented prior to handling of ACKs. E.g., this caused the following error: can_put_echo_skb: BUG! echo_skb 5 is occupied! Instead, use the synchronization helpers in netdev_queues.h. As those piggyback on BQL barriers, start updating in-flight packets and bytes counts as well. Cc: [email protected] Signed-off-by: Axel Forsman <[email protected]> Tested-by: Jimmy Assarsson <[email protected]> Reviewed-by: Jimmy Assarsson <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Marc Kleine-Budde <[email protected]>
Diffstat (limited to 'lib/trace_readwrite.c')
0 files changed, 0 insertions, 0 deletions