OrangePi_CM5/drivers/net/ethernet/broadcom
Michael Chan a9fd5d6cd5 bnxt_en: Fix unnecessary dropping of RX packets
commit 195af57914d15229186658ed26dab24b9ada4122 upstream.

In bnxt_poll_p5(), we first check cpr->has_more_work.  If it is true,
we are in NAPI polling mode and we will call __bnxt_poll_cqs() to
continue polling.  It is possible to exhanust the budget again when
__bnxt_poll_cqs() returns.

We then enter the main while loop to check for new entries in the NQ.
If we had previously exhausted the NAPI budget, we may call
__bnxt_poll_work() to process an RX entry with zero budget.  This will
cause packets to be dropped unnecessarily, thinking that we are in the
netpoll path.  Fix it by breaking out of the while loop if we need
to process an RX NQ entry with no budget left.  We will then exit
NAPI and stay in polling mode.

Fixes: 389a877a3b ("bnxt_en: Process the NQ under NAPI continuous polling.")
Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-12 12:25:42 +02:00
..
bnx2x bnx2x: fix napi API usage sequence 2022-05-09 09:05:05 +02:00
bnxt bnxt_en: Fix unnecessary dropping of RX packets 2022-05-12 12:25:42 +02:00
genet net: bcmgenet: hide status block before TX timestamping 2022-05-09 09:05:05 +02:00
Kconfig net: broadcom CNIC: requires MMU 2020-12-01 11:44:02 -08:00
Makefile
…
b44.c net: b44: fix error return code in b44_init_one() 2020-11-17 10:50:28 -08:00
b44.h
…
bcm63xx_enet.c
…
bcm63xx_enet.h
…
bcmsysport.c net: systemport: Add global locking for descriptor lifecycle 2021-12-22 09:30:56 +01:00
bcmsysport.h net: systemport: Add global locking for descriptor lifecycle 2021-12-22 09:30:56 +01:00
bgmac-bcma-mdio.c
…
bgmac-bcma.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bgmac-platform.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bgmac.c
…
bgmac.h
…
bnx2.c net: bnx2: Fix error return code in bnx2_init_board() 2021-06-03 09:00:48 +02:00
bnx2.h
…
bnx2_fw.h
…
cnic.c cnic: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
cnic.h
…
cnic_defs.h
…
cnic_if.h
…
sb1250-mac.c
…
tg3.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-03 18:50:48 -07:00
tg3.h tg3: Avoid the use of one-element array 2020-07-22 18:11:07 -07:00