linux/drivers/net/ethernet/broadcom
Michael Chan 8ae539a361 bnxt_en: Add missing DMA memory barriers
[ Upstream commit 828affc27e ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-08-26 08:35:46 -04:00
..
bnx2x bnx2x: fix an error code in bnx2x_nic_load() 2021-08-12 13:22:07 +02:00
bnxt bnxt_en: Add missing DMA memory barriers 2021-08-26 08:35:46 -04:00
genet net: bcmgenet: Ensure all TX/RX queues DMAs are disabled 2021-07-25 14:36:19 +02:00
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: remove redundant variable definitions 2020-03-05 14:59:22 -08:00
bcm63xx_enet.h
bcmsysport.c net: systemport: free dev before on error path 2021-01-27 11:55:27 +01:00
bcmsysport.h net: systemport: Manage Wake-on-LAN clock 2020-09-03 15:06:03 -07: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: 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: Fix error return code in bnx2_init_board() 2021-06-03 09:00:48 +02: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: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
cnic.h
Kconfig net: broadcom CNIC: requires MMU 2020-12-01 11:44:02 -08: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 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