Procházet zdrojové kódy

qlcnic: add wmb() call in transmit data path.

Call wmb() to ensure writes are complete before
hardware fetches updated Tx descriptors.

Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sony Chacko před 9 roky
rodič
revize
9216a97a12
1 změnil soubory, kde provedl 2 přidání a 0 odebrání
  1. 2 0
      drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c

+ 2 - 0
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c

@@ -772,6 +772,8 @@ netdev_tx_t qlcnic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
 	tx_ring->tx_stats.tx_bytes += skb->len;
 	tx_ring->tx_stats.xmit_called++;
 
+	/* Ensure writes are complete before HW fetches Tx descriptors */
+	wmb();
 	qlcnic_update_cmd_producer(tx_ring);
 
 	return NETDEV_TX_OK;