mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
The m_can_start_xmit() function checks if the cdev->tx_skb is NULL and
returns with NETDEV_TX_BUSY in case tx_sbk is not NULL.
There is a race condition in the m_can_tx_work_queue(), where first
the skb is send to the driver and then the case tx_sbk is set to NULL.
A TX complete IRQ might come in between and wake the queue, which
results in tx_skb not being cleared yet.
Fixes:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| m_can_pci.c | ||
| m_can_platform.c | ||
| m_can.c | ||
| m_can.h | ||
| Makefile | ||
| tcan4x5x-core.c | ||
| tcan4x5x-regmap.c | ||
| tcan4x5x.h | ||