Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 May 2022 11:19:21 +0000
From:      bugzilla-noreply@freebsd.org
To:        net@FreeBSD.org
Subject:   [Bug 245981] bnxt(4): BCM57414 / BCM57416 not initializing: bnxt0: Unable to allocate device TX queue / queue memory
Message-ID:  <bug-245981-7501-Y4CGMUZ1Y8@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-245981-7501@https.bugs.freebsd.org/bugzilla/>
References:  <bug-245981-7501@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D245981

--- Comment #26 from SJ <sandy@rbrd.io> ---
(In reply to Kurt Jaeger from comment #25)

Done!

% uname -a
FreeBSD foo 13.1-RELEASE FreeBSD 13.1-RELEASE

% kldstat
Id Refs Address                Size Name
 1   27 0xffffffff80200000  1f30590 kernel
 2    1 0xffffffff82131000   5ec1d8 zfs.ko
 3    1 0xffffffff8271e000     af68 cryptodev.ko
 4    1 0xffffffff82c11000     3378 acpi_wmi.ko
 5    1 0xffffffff82c15000     3250 ichsmb.ko
 6    1 0xffffffff82c19000     2180 smbus.ko
 7    1 0xffffffff82c1c000     2110 pchtherm.ko
 8    1 0xffffffff82c1f000     2a08 mac_ntpd.ko

% kldload /boot/kernel/if_bnxt.ko=20

May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: <Broadcom BCM57416
NetXtreme-E 10GBase-T Ethernet> mem
0xb8a10000-0xb8a1ffff,0xb8900000-0xb89fffff,0xb8a22000-0xb8a23fff at device=
 0.0
numa-domain 0 on pci9
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Using 256 TX descriptors
and 256 RX descriptors
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Using 0 RX queues 0 TX
queues
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Using MSI-X interrupts =
with
1 vectors
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: iflib_dma_alloc_align:
bus_dma_tag_create failed: 22
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Unable to allocate devi=
ce
TX queue
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Unable to allocate queue
memory
May 19 12:05:21 <kern.crit> chlorine kernel: device_attach: bnxt0 attach
returned 22
May 19 12:05:21 <kern.crit> chlorine kernel: Warning: failed attempt to rem=
ove
oid fc with child autoneg
May 19 12:05:21 <kern.crit> chlorine kernel: pci0:94:0:0: Device leaked mem=
ory
resources
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%desc)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%driver)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%location)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%pnpinfo)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%parent)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%domain)!
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: <Broadcom BCM57416
NetXtreme-E 10GBase-T Ethernet> mem
0xb8a00000-0xb8a0ffff,0xb8800000-0xb88fffff,0xb8a20000-0xb8a21fff at device=
 0.1
numa-domain 0 on pci9
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.driver_version)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_ntxqs)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_nrxqs)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_qs_enable)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.disable_msix)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.rx_budget)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.tx_abdicate)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.core_offset)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.separate_txrx)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.use_logical_cores)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_ntxds)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_nrxds)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.mfg_id)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.device_id)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.sector_size)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.size)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.reserved_size)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.available_size)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.rss_key)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.rss_type)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.rx_stall)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.vlan_strip)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.if_name)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_rx_usecs)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_rx_frames)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_rx_usecs_irq)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_rx_frames_irq)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_tx_usecs)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_tx_frames)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_tx_usecs_irq)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_tx_frames_irq)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.enable)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.gro_mode)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.max_agg_segs)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.max_aggs)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.min_agg_len)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.fc.tx)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.fc.rx)!
May 19 12:05:21 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.fc.autoneg)!
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Using 256 TX descriptors
and 256 RX descriptors
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Using 0 RX queues 0 TX
queues
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Using MSI-X interrupts =
with
1 vectors
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: iflib_dma_alloc_align:
bus_dma_tag_create failed: 22
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Unable to allocate devi=
ce
TX queue
May 19 12:05:21 <kern.crit> chlorine kernel: bnxt0: Unable to allocate queue
memory
May 19 12:05:21 <kern.crit> chlorine kernel: device_attach: bnxt0 attach
returned 22
May 19 12:05:21 <kern.crit> chlorine kernel: pci0:94:0:1: Device leaked mem=
ory
resources

If I then unload if_bnxt.ko and load it again, I get:

May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%desc)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%driver)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%location)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%pnpinfo)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%parent)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.%domain)!
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt0: <Broadcom BCM57416
NetXtreme-E 10GBase-T Ethernet> mem
0xb8a10000-0xb8a1ffff,0xb8900000-0xb89fffff,0xb8a22000-0xb8a23fff at device=
 0.0
numa-domain 0 on pci9
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.driver_version)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_ntxqs)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_nrxqs)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_qs_enable)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.disable_msix)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.rx_budget)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.tx_abdicate)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.core_offset)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.separate_txrx)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.use_logical_cores)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_ntxds)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.iflib.override_nrxds)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.mfg_id)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.device_id)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.sector_size)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.size)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.reserved_size)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.nvram.available_size)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.rss_key)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.rss_type)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.rx_stall)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.vlan_strip)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.if_name)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_rx_usecs)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_rx_frames)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_rx_usecs_irq)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_rx_frames_irq)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_tx_usecs)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_tx_frames)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_tx_usecs_irq)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.intr_coal_tx_frames_irq)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.enable)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.gro_mode)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.max_agg_segs)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.max_aggs)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.hw_lro.min_agg_len)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.fc.tx)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.fc.rx)!
May 19 12:06:22 <kern.crit> chlorine kernel: sysctl_warn_reuse: can't re-us=
e a
leaf (dev.bnxt.0.fc.autoneg)!
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt0: Using 256 TX descriptors
and 256 RX descriptors
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt0: Using 8 RX queues 8 TX
queues
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt0: Using MSI-X interrupts =
with
9 vectors
May 19 12:06:22 <kern.info> chlorine kernel: bnxt0: Ethernet address:
f4:ee:08:25:fa:bd
May 19 12:06:22 <kern.info> chlorine kernel: bnxt0: netmap queues/slots: TX
8/256, RX 8/256
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt1: <Broadcom BCM57416
NetXtreme-E 10GBase-T Ethernet> mem
0xb8a00000-0xb8a0ffff,0xb8800000-0xb88fffff,0xb8a20000-0xb8a21fff at device=
 0.1
numa-domain 0 on pci9
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt0: Link is UP full duplex,=
 FC
- none - 10000 Mbps=20
May 19 12:06:22 <kern.info> chlorine kernel: bnxt0: link state changed to UP
May 19 12:06:22 <kern.crit> chlorine kernel: debugnet_any_ifnet_update: Bad
dn_init result from bnxt0 (ifp 0xfffff808b357f800), ignoring.
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt1: Using 256 TX descriptors
and 256 RX descriptors
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt1: Using 8 RX queues 8 TX
queues
May 19 12:06:22 <kern.crit> chlorine kernel: bnxt1: Using MSI-X interrupts =
with
9 vectors
May 19 12:06:22 <kern.info> chlorine kernel: bnxt1: Ethernet address: foo
May 19 12:06:22 <kern.info> chlorine kernel: bnxt1: netmap queues/slots: TX
8/256, RX 8/256

and the interfaces are now showing up in ifconfig

bnxt0: flags=3D8822<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
=20=20=20=20=20=20=20
options=3D4e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS=
UM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6=
,NOMAP>
        ether foo
        media: Ethernet autoselect (10Gbase-T <full-duplex>)
        status: active
        nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
bnxt1: flags=3D8822<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
=20=20=20=20=20=20=20
options=3D4e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS=
UM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6=
,NOMAP>
        ether foo
        media: Ethernet autoselect (Unknown <full-duplex,rxpause,txpause>)
        status: no carrier
        nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

On rebooting again, we're back to just the on-board NIC.

--=20
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-245981-7501-Y4CGMUZ1Y8>