linux/drivers/net/ethernet/broadcom
Michael Chan 27640ce68d bnxt_en: Fix completion ring sizing with TPA enabled.
The current completion ring sizing formula is wrong with TPA enabled.
The formula assumes that the number of TPA completions are bound by the
RX ring size, but that's not true.  TPA_START completions are immediately
recycled so they are not bound by the RX ring size.  We must add
bp->max_tpa to the worst case maximum RX and TPA completions.

The completion ring can overflow because of this mistake.  This will
cause hardware to disable the completion ring when this happens,
leading to RX and TX traffic to stall on that ring.  This issue is
generally exposed only when the RX ring size is set very small.

Fix the formula by adding bp->max_tpa to the number of RX completions
if TPA is enabled.

Fixes: c0c050c58d ("bnxt_en: New Broadcom ethernet driver.");
Reviewed-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-07-12 15:29:01 -07:00
..
bnx2x bnx2x: allow bnx2x_bsc_read() to schedule 2020-05-25 17:52:48 -07:00
bnxt bnxt_en: Fix completion ring sizing with TPA enabled. 2020-07-12 15:29:01 -07:00
genet net: bcmgenet: use hardware padding of runt frames 2020-06-24 21:51:03 -07:00
b44.c net/broadcom: Clean broadcom code from driver versions 2020-03-03 17:54:53 -08:00
b44.h
bcm63xx_enet.c bcm63xx_enet: remove redundant variable definitions 2020-03-05 14:59:22 -08:00
bcm63xx_enet.h
bcmsysport.c net: systemport: suppress warnings on failed Rx SKB allocations 2020-04-24 16:50:01 -07:00
bcmsysport.h
bgmac-bcma-mdio.c
bgmac-bcma.c
bgmac-platform.c net: broadcom: fix a mistake about ioremap resource 2020-05-05 11:11:12 -07:00
bgmac.c bgmac: configure MTU and add support for frames beyond 8192 byte size 2020-03-27 16:07:24 -07:00
bgmac.h bgmac: configure MTU and add support for frames beyond 8192 byte size 2020-03-27 16:07:24 -07:00
bnx2_fw.h
bnx2.c net: bnx2: reject unsupported coalescing params 2020-03-10 16:28:53 -07:00
bnx2.h
cnic_defs.h net: cnic: fix spelling mistake "reserverd" -> "reserved" 2020-02-17 21:59:16 -08:00
cnic_if.h
cnic.c cnic: remove redundant assignment to variable ret 2020-05-08 22:46:16 -07:00
cnic.h
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
sb1250-mac.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
tg3.c tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes 2020-06-18 20:35:04 -07:00
tg3.h