mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 03:33:59 +08:00
bnx2: Add missing memory barrier in bnx2_start_xmit()
Sync DMA descriptor before hitting the TX mailbox for weak memory model CPUs. There has been discussions several years ago about this. Some believe that writel() should guarantee ordering. Others want explicit barriers if necessary. Today writel() does not have the ordering guarantee and many other drivers use explicit barriers. Signed-off-by: Vlad Zolotarov <vlad@scalemp.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b033281f61
commit
94bf91baf3
@ -6565,6 +6565,9 @@ bnx2_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
}
|
||||
txbd->tx_bd_vlan_tag_flags |= TX_BD_FLAGS_END;
|
||||
|
||||
/* Sync BD data before updating TX mailbox */
|
||||
wmb();
|
||||
|
||||
netdev_tx_sent_queue(txq, skb->len);
|
||||
|
||||
prod = NEXT_TX_BD(prod);
|
||||
|
Loading…
Reference in New Issue
Block a user