idpf: stop Tx if there are insufficient buffer resources
authorJoshua Hay <joshua.a.hay@intel.com>
Fri, 25 Jul 2025 18:42:22 +0000 (11:42 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 21 Aug 2025 16:42:39 +0000 (09:42 -0700)
commit0c3f135e840d4a2ba4253e15d530ec61bc30718e
tree254f13a59ac5f12a4da0079646491456812c23d4
parent5f417d551324d2894168b362f2429d120ab06243
idpf: stop Tx if there are insufficient buffer resources

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>
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