e04b2cfe61
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 | ||
Makefile | ||
m_can.c | ||
m_can.h | ||
m_can_pci.c | ||
m_can_platform.c | ||
tcan4x5x-core.c | ||
tcan4x5x-regmap.c | ||
tcan4x5x.h |