Message ID | 20240726-dev-andyc-net-fixes-v1-1-15a98b79afb4@sifive.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: axienet: start napi before enabling Rx/Tx | expand |
On Fri, Jul 26, 2024 at 9:06 AM Andy Chiu <andy.chiu@sifive.com> wrote: > > softirq may get lost if an Rx interrupt comes before we call > napi_enable. Move napi_enable in front of axienet_setoptions(), which > turns on the device, to address the issue. > > Link: https://lists.gnu.org/archive/html/qemu-devel/2024-07/msg06160.html > Fixes: cc37610caaf8 ("net: axienet: implement NAPI and GRO receive") > Signed-off-by: Andy Chiu <andy.chiu@sifive.com> SGTM, although the axienet_setoptions name is a bit confusing... Reviewed-by: Eric Dumazet <edumazet@google.com>
Hello: This patch was applied to netdev/net.git (main) by David S. Miller <davem@davemloft.net>: On Fri, 26 Jul 2024 15:06:50 +0800 you wrote: > softirq may get lost if an Rx interrupt comes before we call > napi_enable. Move napi_enable in front of axienet_setoptions(), which > turns on the device, to address the issue. > > Link: https://lists.gnu.org/archive/html/qemu-devel/2024-07/msg06160.html > Fixes: cc37610caaf8 ("net: axienet: implement NAPI and GRO receive") > Signed-off-by: Andy Chiu <andy.chiu@sifive.com> > > [...] Here is the summary with links: - net: axienet: start napi before enabling Rx/Tx https://git.kernel.org/netdev/net/c/799a82950750 You are awesome, thank you!
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index db7640529ce7..6fb48268b47c 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -1849,9 +1849,9 @@ static void axienet_dma_err_handler(struct work_struct *work) ~(XAE_OPTION_TXEN | XAE_OPTION_RXEN)); axienet_set_mac_address(ndev, NULL); axienet_set_multicast_list(ndev); - axienet_setoptions(ndev, lp->options); napi_enable(&lp->napi_rx); napi_enable(&lp->napi_tx); + axienet_setoptions(ndev, lp->options); } /**
softirq may get lost if an Rx interrupt comes before we call napi_enable. Move napi_enable in front of axienet_setoptions(), which turns on the device, to address the issue. Link: https://lists.gnu.org/archive/html/qemu-devel/2024-07/msg06160.html Fixes: cc37610caaf8 ("net: axienet: implement NAPI and GRO receive") Signed-off-by: Andy Chiu <andy.chiu@sifive.com> --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- base-commit: 80532af22b67cb83736f62feaeba483b2a5f74db change-id: 20240726-dev-andyc-net-fixes-306f825878c4 Best regards,