1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
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 net: ethernet: actions: Convert to platform remove callback returning void 2023-09-20 09:06:37 +01:00
adaptec
adi net: ethernet: adi: adin1110: Replace linux/gpio.h by proper one 2024-05-10 18:51:34 -07:00
aeroflex net: ethernet: aeroflex: Convert to platform remove callback returning void 2023-09-20 09:06:37 +01:00
agere net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
alacritech
allwinner net: ethernet: allwinner: Convert to platform remove callback returning void 2023-09-20 09:06:37 +01:00
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 powerpc/macio: Make remove callback of macio driver void returned 2024-03-07 23:06:19 +11:00
aquantia pci-v6.10-changes 2024-05-21 10:09:28 -07:00
arc net: ethernet: arc: Convert to platform remove callback returning void 2023-09-20 09:06:37 +01:00
asix net: asix: fix fortify warning 2023-12-12 13:20:37 -08:00
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 net: fill in MODULE_DESCRIPTION()s for ep93xxx_eth 2024-01-24 15:12:20 -08:00
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 net: ethernet: davicom: Convert to platform remove callback returning void 2023-09-20 09:06:38 +01:00
dec net: tulip: Annotate struct mediatable with __counted_by 2023-10-02 11:24:55 -07:00
dlink net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
emulex netlink: introduce type-checking attribute iteration 2024-03-29 15:06:02 -07:00
engleder xsk: use generic DMA sync shortcut instead of a custom one 2024-05-08 08:51:20 +02:00
ezchip net: fill in MODULE_DESCRIPTION()s for nps_enet 2024-01-24 15:12:20 -08:00
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 net: handle HAS_IOPORT dependencies 2024-04-08 11:56:56 +01:00
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 net/sun3_82586: Avoid reading past buffer in debug output 2024-02-08 18:41:10 -08:00
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 net: fill in MODULE_DESCRIPTION()s for litex 2024-01-24 15:12:21 -08:00
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 net: ethernet: moxa:: Convert to platform remove callback returning void 2023-09-20 09:06:39 +01:00
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 net: ethernet: nxp: Convert to platform remove callback returning void 2023-09-20 09:06:40 +01:00
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 net: ethernet: seeq: Convert to platform remove callback returning void 2023-09-20 09:06:40 +01:00
sfc net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
sgi net: ethernet: sgi: Convert to platform remove callback returning void 2023-09-20 09:06:40 +01:00
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 eth: link netdev to page_pools in drivers 2023-11-28 15:48:39 +01:00
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 net: ethernet: sunplus: Convert to platform remove callback returning void 2023-09-20 09:06:41 +01:00
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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-02-29 14:24:56 -08:00
tundra net: ethernet: tundra: Convert to platform remove callback returning void 2023-09-20 09:06:41 +01:00
vertexcom net: vertexcom: mse102x: Follow renaming of SPI "master" to "controller" 2024-02-08 11:54:46 +00:00
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 ethernet: wiznet: Use devm_platform_get_and_ioremap_resource() in w5300_hw_probe() 2024-02-09 12:27:36 -08:00
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
dnet.c net: ethernet: dnet: Convert to platform remove callback returning void 2023-09-20 09:06:38 +01:00
dnet.h
ec_bhf.c net: fill in MODULE_DESCRIPTION()s for ec_bhf 2024-01-29 12:12:51 +00:00
ethoc.c net: ethernet: ethoc: Convert to platform remove callback returning void 2023-09-20 09:06:38 +01:00
fealnx.c
jme.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
jme.h
Kconfig net: ethernet: remove duplicated CONFIG_SUNGEM_PHY entry 2024-02-07 13:17:51 +00:00
korina.c net: ethernet: korina: Convert to platform remove callback returning void 2023-09-20 09:06:39 +01:00
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
Makefile