mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 07:25:14 +07:00
d667f78514
We received two reports of BUG_ON in bnad_txcmpl_process() where hw_consumer_index appeared to be ahead of producer_index. Out of order write/read of these variables could explain these reports. bnad_start_xmit(), as a producer of tx descriptors, has a few memory barriers sprinkled around writes to producer_index and the device's doorbell but they're not paired with anything in bnad_txcmpl_process(), a consumer. Since we are synchronizing with a device, we must use mandatory barriers, not smp_*. Also, I didn't see the purpose of the last smp_mb() in bnad_start_xmit(). Signed-off-by: Benjamin Poirier <bpoirier@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
bfa_cee.c | ||
bfa_cee.h | ||
bfa_cs.h | ||
bfa_defs_cna.h | ||
bfa_defs_mfg_comm.h | ||
bfa_defs_status.h | ||
bfa_defs.h | ||
bfa_ioc_ct.c | ||
bfa_ioc.c | ||
bfa_ioc.h | ||
bfa_msgq.c | ||
bfa_msgq.h | ||
bfi_cna.h | ||
bfi_enet.h | ||
bfi_reg.h | ||
bfi.h | ||
bna_enet.c | ||
bna_hw_defs.h | ||
bna_tx_rx.c | ||
bna_types.h | ||
bna.h | ||
bnad_debugfs.c | ||
bnad_ethtool.c | ||
bnad.c | ||
bnad.h | ||
cna_fwimg.c | ||
cna.h | ||
Kconfig | ||
Makefile |