linux-xiaomi-chiron/drivers/net/ethernet/broadcom
Michael Chan 828affc27e bnxt_en: Add missing DMA memory barriers
Each completion ring entry has a valid bit to indicate that the entry
contains a valid completion event.  The driver's main poll loop
__bnxt_poll_work() has the proper dma_rmb() to make sure the valid
bit of the next entry has been checked before proceeding further.
But when we call bnxt_rx_pkt() to process the RX event, the RX
completion event consists of two completion entries and only the
first entry has been checked to be valid.  We need the same barrier
after checking the next completion entry.  Add missing dma_rmb()
barriers in bnxt_rx_pkt() and other similar locations.

Fixes: 67a95e2022 ("bnxt_en: Need memory barrier when processing the completion ring.")
Reported-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-08-16 11:31:41 +01:00
..
bnx2x bnx2x: fix an error code in bnx2x_nic_load() 2021-08-05 13:32:10 +01:00
bnxt bnxt_en: Add missing DMA memory barriers 2021-08-16 11:31:41 +01:00
genet net: bcmgenet: Ensure all TX/RX queues DMAs are disabled 2021-07-08 19:35:59 -07:00
b44.c net: broadcom: remove leading spaces before tabs 2021-05-19 12:17:30 -07:00
b44.h
bcm63xx_enet.c
bcm63xx_enet.h
bcm4908_enet.c net: broadcom: bcm4908_enet: reset DMA rings sw indexes properly 2021-06-22 10:34:13 -07:00
bcm4908_enet.h
bcmsysport.c
bcmsysport.h
bgmac-bcma-mdio.c
bgmac-bcma.c
bgmac-platform.c net: ethernet: bgmac: Use devm_platform_ioremap_resource_byname 2021-06-07 14:07:22 -07:00
bgmac.c
bgmac.h
bnx2.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-05-27 09:55:10 -07:00
bnx2.h
bnx2_fw.h
cnic.c
cnic.h
cnic_defs.h
cnic_if.h
Kconfig bnxt_en: Add PTP clock APIs, ioctls, and ethtool methods 2021-06-28 13:41:05 -07:00
Makefile
sb1250-mac.c
tg3.c
tg3.h
unimac.h