1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net
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
..
arcnet archnet: Convert from tasklet to BH workqueue 2024-04-08 19:44:09 -07:00
bonding bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set() 2024-07-03 19:36:02 -07:00
caif net: caif: virtio: drop owner assignment 2024-05-22 08:31:17 -04:00
can can: kvaser_usb: Explicitly initialize family in leafimx driver_info struct 2024-07-01 08:55:16 +02:00
dsa net: dsa: microchip: fix wrong register write when masking interrupt 2024-06-25 13:26:25 +02:00
ethernet bnxt_en: Fix the resource check condition for RSS contexts 2024-07-04 07:40:27 -07:00
fddi net: handle HAS_IOPORT dependencies 2024-04-08 11:56:56 +01:00
fjes tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
hamradio net: handle HAS_IOPORT dependencies 2024-04-08 11:56:56 +01:00
hippi
hyperv tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
ieee802154 spi: Updates for v6.9 2024-03-13 11:07:37 -07:00
ipa net: ipa: allocate dummy net_device dynamically 2024-04-24 12:00:16 +01:00
ipvlan ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound 2024-05-30 12:05:52 +02:00
mctp
mdio net: mdio-gpio: Use device_is_compatible() 2024-04-08 11:05:09 +01:00
netdevsim netdevsim: fix backwards compatibility in nsim_get_iflink() 2024-06-10 11:51:04 +01:00
pcs net: pcs: lynx: no need to read LPA in lynx_pcs_get_state_2500basex() 2024-05-13 16:37:18 -07:00
phy net: phy: aquantia: add missing include guards 2024-07-02 18:17:33 -07:00
plip net: fill in MODULE_DESCRIPTION()s for plip 2024-02-15 08:03:46 -08:00
ppp rtnetlink: allow rtnl_fill_link_netnsid() to run under RCU protection 2024-05-07 11:14:50 +02:00
pse-pd net: pse-pd: Kconfig: Fix missing firmware loader config select 2024-06-21 11:29:52 +01:00
slip net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
team net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
thunderbolt
usb net: usb: qmi_wwan: add Telit FN912 compositions 2024-06-26 07:27:27 -07:00
vmxnet3 vmxnet3: disable rx data ring on dma allocation failure 2024-06-03 18:49:33 -07:00
vxlan vxlan: Pull inner IP header in vxlan_xmit_one(). 2024-06-21 17:34:15 -07:00
wan net: wan: fsl_qmc_hdlc: Convert to platform remove callback returning void 2024-04-10 19:35:50 -07:00
wireguard genetlink: remove linux/genetlink.h 2024-04-01 21:44:34 -07:00
wireless wifi: iwlwifi: mvm: check vif for NULL/ERR_PTR before dereference 2024-07-03 16:06:54 +02:00
wwan net: wwan: iosm: Fix tainted pointer delete is case of region creation fail 2024-06-06 10:15:14 +02:00
xen-netback net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
amt.c net: amt: Remove generic .ndo_get_stats64 2024-03-11 15:16:13 -07:00
bareudp.c ip_tunnel: convert __be16 tunnel flags to bitmaps 2024-04-01 10:49:28 +01:00
dummy.c net/dummy: Move stats allocation to core 2024-02-21 11:20:56 +00:00
eql.c
geneve.c geneve: Fix incorrect inner network header offset when innerprotoinherit is set 2024-06-10 13:18:08 +01:00
gtp.c gtp: identify tunnel via GTP device + GTP version + TEID + family 2024-05-07 01:36:02 +02:00
ifb.c
Kconfig net: netdevsim: select PAGE_POOL in Kconfig 2024-04-17 18:25:30 -07:00
LICENSE.SRC
loopback.c net: loopback: Do not allocate lstats explicitly 2024-04-30 19:01:58 -07:00
macsec.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
macvlan.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
macvtap.c
Makefile net: Always descend into dsa/ folder with CONFIG_NET_DSA enabled 2024-05-20 11:04:29 +01:00
mdio.c
mhi_net.c
mii.c
net_failover.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
netconsole.c net: netconsole: Add continuation line prefix to userdata messages 2024-03-11 14:07:57 -07:00
netkit.c netkit: Fix pkt_type override upon netkit pass verdict 2024-05-25 10:48:57 -07:00
nlmon.c net: nlmon: Simplify nlmon_get_stats64 2024-03-04 10:18:02 +00:00
ntb_netdev.c net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx() 2024-07-02 18:56:46 -07:00
pfcp.c pfcp: avoid copy warning by simplifing code 2024-04-08 11:46:41 +01:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: extend ubuf_info callback to ops structure 2024-04-22 16:21:35 -07:00
tun.c for-6.10/io_uring-20240511 2024-05-13 12:48:06 -07:00
veth.c Revert "net: mirror skb frag ref/unref helpers" 2024-05-03 16:05:53 -07:00
virtio_net.c virtio_net: fixing XDP for fully checksummed packets handling 2024-06-19 10:52:44 +01:00
vrf.c inet: introduce dst_rtable() helper 2024-04-30 18:32:38 -07:00
vsockmon.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
xen-netfront.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00