Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
can: m_can: m_can_tx_work_queue(): fix tx_skb race condition
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: f524f82 ("can: m_can: Create a m_can platform framework") Tested-by: Torin Cooper-Bennun <[email protected]> Signed-off-by: Marc Kleine-Budde <[email protected]>
- Loading branch information