]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
idpf: stop Tx if there are insufficient buffer resources
authorJoshua Hay <joshua.a.hay@intel.com>
Mon, 15 Dec 2025 21:42:46 +0000 (13:42 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Jan 2026 09:15:03 +0000 (10:15 +0100)
commita7a7bff258e1f5aee2bb95ebbc12bbd6533dd1e7
tree779c5f750d7907e694de32c1d501a026e737897a
parente3e11c9db16584aeecf9b205bf7dd2cc1b7bf7f1
idpf: stop Tx if there are insufficient buffer resources

[ Upstream commit 0c3f135e840d4a2ba4253e15d530ec61bc30718e ]

The Tx refillq logic will cause packets to be silently dropped if there
are not enough buffer resources available to send a packet in flow
scheduling mode. Instead, determine how many buffers are needed along
with number of descriptors. Make sure there are enough of both resources
to send the packet, and stop the queue if not.

Fixes: 7292af042bcf ("idpf: fix a race in txq wakeup")
Signed-off-by: Joshua Hay <joshua.a.hay@intel.com>
Reviewed-by: Madhu Chittim <madhu.chittim@intel.com>
Tested-by: Samuel Salin <Samuel.salin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
drivers/net/ethernet/intel/idpf/idpf_txrx.c
drivers/net/ethernet/intel/idpf/idpf_txrx.h