linux/drivers/net/ethernet
Pavan Chebbi 5d350dc342 bnxt_en: Fix the resource check condition for RSS contexts
While creating a new RSS context, bnxt_rfs_capable() currently
makes a strict check to see if the required VNICs are already
available.  If the current VNICs are not what is required,
either too many or not enough, it will call the firmware to
reserve the exact number required.

There is a bug in the firmware when the driver tries to
relinquish some reserved VNICs and RSS contexts.  It will
cause the default VNIC to lose its RSS configuration and
cause receive packets to be placed incorrectly.

Workaround this problem by skipping the resource reduction.
The driver will not reduce the VNIC and RSS context reservations
when a context is deleted.  The resources will be available for
use when new contexts are created later.

Potentially, this workaround can cause us to run out of VNIC
and RSS contexts if there are a lot of VF functions creating
and deleting RSS contexts.  In the future, we will conditionally
disable this workaround when the firmware fix is available.

Fixes: 438ba39b25 ("bnxt_en: Improve RSS context reservation infrastructure")
Reported-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/netdev/20240625010210.2002310-1-kuba@kernel.org/
Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240703180112.78590-1-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-07-04 07:40:27 -07:00
..
3com net: annotate data-races around dev->if_port 2024-05-08 18:51:30 -07:00
8390 net: annotate data-races around dev->if_port 2024-05-08 18:51:30 -07:00
actions
adaptec
adi net: ethernet: adi: adin1110: Replace linux/gpio.h by proper one 2024-05-10 18:51:34 -07:00
aeroflex
agere net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
alacritech
allwinner
alteon net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
altera net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
amazon net: ena: Fix redundant device NUMA node override 2024-05-29 19:01:34 -07:00
amd pci-v6.10-changes 2024-05-21 10:09:28 -07:00
apm net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
apple
aquantia pci-v6.10-changes 2024-05-21 10:09:28 -07:00
arc
asix
atheros pci-v6.10-changes 2024-05-21 10:09:28 -07:00
broadcom bnxt_en: Fix the resource check condition for RSS contexts 2024-07-04 07:40:27 -07:00
brocade net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
cadence net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
calxeda net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
cavium liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet 2024-06-07 14:22:19 +01:00
chelsio Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
cirrus
cisco enic: Validate length of nl attributes in enic_set_vf_port 2024-05-27 11:18:01 +02:00
cortina Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-05-14 10:53:19 -07:00
davicom
dec
dlink net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
emulex
engleder xsk: use generic DMA sync shortcut instead of a custom one 2024-05-08 08:51:20 +02:00
ezchip
faraday net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
freescale net:fec: Add fec_enet_deinit() 2024-05-27 16:55:32 -07:00
fujitsu
fungible tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
google gve: Clear napi->skb before dev_kfree_skb_any() 2024-06-13 07:37:35 -07:00
hisilicon net: hns3: add cond_resched() to hns3 ring buffer init process 2024-06-07 12:20:28 +01:00
huawei net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
i825xx
ibm ibmvnic: Add tx check to prevent skb leak 2024-06-25 10:43:42 +02:00
intel ice: use proper macro for testing bit 2024-07-03 19:36:52 -07:00
litex
marvell octeontx2-pf: Fix coverity and klockwork issues in octeon PF driver 2024-06-23 19:00:52 +01:00
mediatek net: ethernet: mtk_eth_soc: handle dma buffer size soc specific 2024-06-05 14:04:44 +01:00
mellanox mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file 2024-07-04 07:34:42 -07:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2024-05-15 07:30:49 -07:00
microchip net: lan743x: Support WOL at both the PHY and MAC appropriately 2024-06-18 12:04:23 +02:00
microsoft net: mana: Fix possible double free in error handling path 2024-06-27 12:35:58 +02:00
moxa
mscc net: mscc: ocelot: flower: validate control flags 2024-04-18 17:05:38 -07:00
myricom net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
natsemi net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
neterion net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
netronome dma-mapping updates for Linux 6.10 2024-05-20 10:23:39 -07:00
ni net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
nvidia net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
nxp
oki-semi net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
packetengines
pasemi net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
pensando ionic: use dev_consume_skb_any outside of napi 2024-06-25 16:44:08 -07:00
qlogic Networking changes for 6.10. 2024-05-14 19:42:24 -07:00
qualcomm qca_spi: Make interrupt remembering atomic 2024-06-18 11:38:51 +02:00
rdc
realtek Quite smaller than usual. Notably it includes the fix for the unix 2024-05-23 12:49:37 -07:00
renesas net: rswitch: Avoid use-after-free in rswitch_poll() 2024-07-03 19:15:22 -07:00
rocker net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
samsung net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
seeq
sfc net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
sgi
silan
sis net: annotate data-races around dev->if_port 2024-05-08 18:51:30 -07:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-05-14 10:53:19 -07:00
socionext
stmicro net: stmmac: enable HW-accelerated VLAN stripping for gmac4 only 2024-07-03 09:11:06 +01:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-05-14 10:53:19 -07:00
sunplus
synopsys net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
tehuti net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
ti net: ti: icssg-prueth: Fix start counter for ft1 filter 2024-05-28 15:29:52 +02:00
toshiba
tundra
vertexcom
via net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
wangxun net: txgbe: free isb resources at the right time 2024-07-02 16:07:04 +02:00
wiznet
xilinx net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
xircom net: annotate data-races around dev->if_port 2024-05-08 18:51:30 -07:00
xscale net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
Kconfig
Makefile
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
jme.h
korina.c
lantiq_etop.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
lantiq_xrx200.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00