1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/broadcom
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
..
asp2 net: bcmasp: fix memory leak when bringing down interface 2024-04-19 20:32:29 -07:00
bnx2x bnx2x: Fix multiple UBSAN array-index-out-of-bounds 2024-06-28 18:19:05 -07:00
bnxt bnxt_en: Fix the resource check condition for RSS contexts 2024-07-04 07:40:27 -07:00
genet net: bcmgenet: synchronize UMAC_CMD access 2024-04-29 06:24:22 +01:00
b44.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
b44.h
bcm63xx_enet.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
bcm63xx_enet.h bcm63xx_enet: convert to build_skb 2021-01-07 12:39:53 -08:00
bcm4908_enet.c net: fill in MODULE_DESCRIPTION()s for Broadcom bgmac 2024-01-24 15:12:20 -08:00
bcm4908_enet.h net: broadcom: rename BCM4908 driver & update DT binding 2021-02-11 15:04:17 -08:00
bcmsysport.c net: dsa: Use conduit and user terms 2023-10-24 13:08:14 -07:00
bcmsysport.h net: systemport: Add support for RDMA overflow statistic counter 2022-10-31 20:05:03 -07:00
bgmac-bcma-mdio.c net: fill in MODULE_DESCRIPTION()s for Broadcom bgmac 2024-01-24 15:12:20 -08:00
bgmac-bcma.c net: fill in MODULE_DESCRIPTION()s for Broadcom bgmac 2024-01-24 15:12:20 -08:00
bgmac-platform.c net: fill in MODULE_DESCRIPTION()s for Broadcom bgmac 2024-01-24 15:12:20 -08:00
bgmac.c net: fill in MODULE_DESCRIPTION()s for Broadcom bgmac 2024-01-24 15:12:20 -08:00
bgmac.h bgmac: fix *initial* chip reset to support BCM5358 2023-02-28 11:10:05 +01:00
bnx2.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
bnx2.h bnx2: Drop redundant pci_enable_pcie_error_reporting() 2023-03-08 23:34:38 -08:00
bnx2_fw.h
cnic.c ipv4: Set scope explicitly in ip_route_output(). 2024-04-08 13:20:51 +01:00
cnic.h cnic,bnx2,bnx2x: use UIO_MEM_DMA_COHERENT 2024-03-07 21:52:59 +00:00
cnic_defs.h net: cnic: fix spelling mistake "reserverd" -> "reserved" 2020-02-17 21:59:16 -08:00
cnic_if.h cnic,bnx2,bnx2x: use UIO_MEM_DMA_COHERENT 2024-03-07 21:52:59 +00:00
Kconfig bcmasp: BCMASP should depend on ARCH_BRCMSTB 2023-07-26 21:46:41 -07:00
Makefile net: bcmasp: Add support for ASP2.0 Ethernet controller 2023-07-17 07:39:04 +01:00
sb1250-mac.c net: ethernet: broadcom: Convert to platform remove callback returning void 2023-09-20 09:06:37 +01:00
tg3.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
tg3.h ethtool: replace struct ethtool_eee with a new struct ethtool_keee on kernel side 2024-01-31 12:30:47 +00:00
unimac.h net: broadcom: share header defining UniMAC registers 2021-01-08 19:17:28 -08:00