sunvnet: add memory barrier before check for tx enable
In order to allow the underlying LDC and outstanding memory operations to potentially catch up with the driver's Tx requests, add a memory barrier before checking again for available tx descriptors. Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f2f3e210bf
commit
fd263fb6e7
|
@ -1427,6 +1427,7 @@ int sunvnet_start_xmit_common(struct sk_buff *skb, struct net_device *dev,
|
|||
dr->prod = (dr->prod + 1) & (VNET_TX_RING_SIZE - 1);
|
||||
if (unlikely(vnet_tx_dring_avail(dr) < 1)) {
|
||||
netif_tx_stop_queue(txq);
|
||||
smp_rmb();
|
||||
if (vnet_tx_dring_avail(dr) > VNET_TX_WAKEUP_THRESH(dr))
|
||||
netif_tx_wake_queue(txq);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue