]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
eth: fbnic: Use wake instead of start
authorMohsin Bashir <hmohsin@meta.com>
Wed, 8 Apr 2026 00:24:15 +0000 (17:24 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 10 Apr 2026 03:36:26 +0000 (20:36 -0700)
commit12ff2a4aee6c86746623d5aed24389dbf6dffded
tree087021a67e73ed272ba33c240045261f8066bab9
parent4ae0604a0673e11e2075b178387151fcad5111b5
eth: fbnic: Use wake instead of start

fbnic_up() calls netif_tx_start_all_queues(), which only clears
__QUEUE_STATE_DRV_XOFF.  If qdisc backlog has accumulated on any TX
queue before the reconfiguration (e.g. ring resize via ethtool -G),
start does not call __netif_schedule() to kick the qdisc, so the
pending backlog is never drained and the queue stalls.

Switch to netif_tx_wake_all_queues(), which clears DRV_XOFF and also
calls __netif_schedule() on every queue, ensuring any backlog that
built up before the down/up cycle is promptly dequeued.

Fixes: bc6107771bb4 ("eth: fbnic: Allocate a netdevice and napi vectors with queues")
Signed-off-by: Mohsin Bashir <hmohsin@meta.com>
Link: https://patch.msgid.link/20260408002415.2963915-1-mohsin.bashr@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/meta/fbnic/fbnic_pci.c