linux/drivers/net/ethernet
Dimitri Daskalakis ec7067e661 eth: fbnic: Increase FBNIC_QUEUE_SIZE_MIN to 64
On systems with 64K pages, RX queues will be wedged if users set the
descriptor count to the current minimum (16). Fbnic fragments large
pages into 4K chunks, and scales down the ring size accordingly. With
64K pages and 16 descriptors, the ring size mask is 0 and will never
be filled.

32 descriptors is another special case that wedges the RX rings.
Internally, the rings track pages for the head/tail pointers, not page
fragments. So with 32 descriptors, there's only 1 usable page as one
ring slot is kept empty to disambiguate between an empty/full ring.
As a result, the head pointer never advances and the HW stalls after
consuming 16 page fragments.

Fixes: 0cb4c0a137 ("eth: fbnic: Implement Rx queue alloc/start/stop/free")
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
Link: https://patch.msgid.link/20260401162848.2335350-1-dimitri.daskalakis1@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-04-02 08:38:34 -07:00
..
3com net: 3com: 3c59x: fix possible null dereference in vortex_probe1() 2026-01-08 08:36:56 -08:00
8390 net: remove unnecessary module_init/exit functions 2026-02-02 17:25:23 -08:00
actions
adaptec
adi treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
aeroflex
agere Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
airoha net: airoha: Delay offloading until all net_devices are fully registered 2026-03-30 17:58:40 -07:00
alacritech Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
allwinner treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
alteon Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
altera Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
amazon net: ena: convert to use .get_rx_ring_count 2026-01-17 18:10:16 -08:00
amd amd-xgbe: reset PHY settings before starting PHY 2026-03-10 12:07:07 +01:00
apm Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
apple
aquantia Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
arc net: ethernet: arc: emac: quiesce interrupts before requesting IRQ 2026-03-10 19:05:12 -07:00
asix
atheros Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
broadcom bnxt_en: Restore default stat ctxs for ULP when resource is available 2026-04-01 20:12:56 -07:00
brocade Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
cadence net: macb: properly unregister fixed rate clocks 2026-04-01 19:57:20 -07:00
calxeda Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
cavium Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
chelsio Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
cirrus
cisco Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
cortina Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
davicom
dec
dlink net: dlink: replace printk() with netdev_{info,dbg}() in rio_probe1() 2026-01-06 17:11:38 -08:00
emulex Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
engleder Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
ezchip
faraday net: ftgmac100: fix ring allocation unwind on open failure 2026-03-31 19:38:36 -07:00
freescale net: enetc: do not allow VF to configure the RSS key 2026-03-27 20:56:46 -07:00
fujitsu
fungible Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
google Including fixes from IPsec, Bluetooth and netfilter 2026-02-26 08:00:13 -08:00
hisilicon Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
huawei Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
i825xx
ibm Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
intel idpf: only assign num refillqs if allocation was successful 2026-03-23 13:29:51 -07:00
litex
marvell net: mvpp2: guard flow control update with global_tx_fc in buffer switching 2026-03-19 10:31:19 +01:00
mediatek net: ethernet: mtk_ppe: avoid NULL deref when gmac0 is disabled 2026-03-26 19:01:25 -07:00
mellanox net/mlx5: Fix switchdev mode rollback in case of failure 2026-04-01 20:10:41 -07:00
meta eth: fbnic: Increase FBNIC_QUEUE_SIZE_MIN to 64 2026-04-02 08:38:34 -07:00
micrel Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
microchip net: lan743x: fix duplex configuration in mac_link_up 2026-03-24 20:48:25 -07:00
microsoft net: mana: Fix RX skb truesize accounting 2026-03-26 18:57:07 -07:00
moxa
mscc Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mucse net: rnpgbe: Add register_netdev 2025-11-04 18:11:37 -08:00
myricom Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
natsemi
netronome Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
ni
nvidia Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
nxp
oki-semi net: pch_gbe: convert to use ndo_hwtstamp callbacks 2025-11-04 17:43:52 -08:00
packetengines
pasemi Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
pensando ionic: fix persistent MAC address override on PF 2026-03-19 15:45:30 -07:00
qlogic Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
qualcomm Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
rdc
realtek Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
renesas Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
rocker Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
samsung Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
seeq
sfc Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
sgi
silan
sis Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
smsc Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
socionext Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
spacemit net: spacemit: Fix error handling in emac_tx_mem_map() 2026-03-06 18:58:34 -08:00
stmicro net: stmmac: skip VLAN restore when VLAN hash ops are missing 2026-03-31 19:45:26 -07:00
sun Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
sunplus treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
synopsys Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
tehuti
ti net: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch 2026-03-27 12:08:26 +00:00
toshiba Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
tundra
vertexcom
via Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
wangxun Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
wiznet
xilinx net: xilinx: axienet: Fix BQL accounting for multi-BD TX packets 2026-03-31 12:09:12 +02:00
xircom
xscale net: ethernet: xscale: Check for PTP support properly 2026-02-20 16:10:24 -08:00
Kconfig net: ethernet: neterion: s2io: remove unused driver 2026-01-28 20:08:07 -08:00
Makefile net: ethernet: neterion: s2io: remove unused driver 2026-01-28 20:08:07 -08:00
ec_bhf.c net: ethernet: ec_bhf: Fix dma_free_coherent() dma handle 2026-02-17 17:16:55 -08:00
ethoc.c
fealnx.c eth: fealnx: fix typo in comments 2025-10-14 19:18:45 -07:00
jme.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
jme.h
korina.c
lantiq_etop.c
lantiq_xrx200.c
oa_tc6.c