]> git.baikalelectronics.ru Git - kernel.git/commit
net: ethernet: mtk-star-emac: simplify interrupt handling
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Thu, 11 Jun 2020 14:01:39 +0000 (16:01 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Jun 2020 20:30:58 +0000 (13:30 -0700)
commitcd7f808d04ed7065e63473001732fc1caea0cd4b
tree4e157af09d2e292c7612a51fe3f9504002738016
parent509cffa301c14bbd5ea0a7533578441e68bed143
net: ethernet: mtk-star-emac: simplify interrupt handling

During development we tried to make the interrupt handling as fine-grained
as possible with TX and RX interrupts being disabled/enabled independently
and the counter registers reset from workqueue context.

Unfortunately after thorough testing of current mainline, we noticed the
driver has become unstable under heavy load. While this is hard to
reproduce, it's quite consistent in the driver's current form.

This patch proposes to go back to the previous approach of doing all
processing in napi context with all interrupts masked in order to make the
driver usable in mainline linux. This doesn't impact the performance on
pumpkin boards at all and it's in line with what many ethernet drivers do
in mainline linux anyway.

At the same time we're adding a FIXME comment about the need to improve
the interrupt handling.

Fixes: e104d92c885f ("net: ethernet: mtk-star-emac: new driver")
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mediatek/mtk_star_emac.c