]> git.baikalelectronics.ru Git - kernel.git/commit
net: mvpp2: fix a txq_done race condition
authorAntoine Tenart <antoine.tenart@bootlin.com>
Tue, 18 Sep 2018 14:58:47 +0000 (16:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Sep 2018 03:13:27 +0000 (20:13 -0700)
commit15c5ea708b954d90f88caf8c32e58d1cc567a207
treeefe6cbb8e2633a870fb16e4257675f9a3f503599
parentaf0a730adc0ce7579c617e3763359d8b060a95e7
net: mvpp2: fix a txq_done race condition

When no Tx IRQ is available, the txq_done() routine (called from
tx_done()) shouldn't be called from the polling function, as in such
case it is already called in the Tx path thanks to an hrtimer. This
mostly occurred when using PPv2.1, as the engine then do not have Tx
IRQs.

Fixes: 7dc6fd1e9e19 ("net: mvpp2: replace TX coalescing interrupts with hrtimer")
Reported-by: Stefan Chulski <stefanc@marvell.com>
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c