Skip to content

Commit b9ee2c6

Browse files
Mohsin Bashirgregkh
authored andcommitted
eth: fbnic: Use wake instead of start
[ Upstream commit 12ff2a4 ] 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: bc61077 ("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 6d28910 commit b9ee2c6

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/net/ethernet/meta/fbnic/fbnic_pci.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ void fbnic_up(struct fbnic_net *fbn)
139139

140140
/* Enable Tx/Rx processing */
141141
fbnic_napi_enable(fbn);
142-
netif_tx_start_all_queues(fbn->netdev);
142+
netif_tx_wake_all_queues(fbn->netdev);
143143

144144
fbnic_service_task_start(fbn);
145145
}

0 commit comments

Comments
 (0)