diff options
| -rw-r--r-- | drivers/net/ethernet/broadcom/genet/bcmgenet.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 53c916ea06a2..e74ae628bbb9 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c | |||
| @@ -1316,12 +1316,13 @@ static netdev_tx_t bcmgenet_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 1316 | ring->prod_index += nr_frags + 1; | 1316 | ring->prod_index += nr_frags + 1; |
| 1317 | ring->prod_index &= DMA_P_INDEX_MASK; | 1317 | ring->prod_index &= DMA_P_INDEX_MASK; |
| 1318 | 1318 | ||
| 1319 | bcmgenet_tdma_ring_writel(priv, ring->index, | ||
| 1320 | ring->prod_index, TDMA_PROD_INDEX); | ||
| 1321 | |||
| 1322 | if (ring->free_bds <= (MAX_SKB_FRAGS + 1)) | 1319 | if (ring->free_bds <= (MAX_SKB_FRAGS + 1)) |
| 1323 | netif_tx_stop_queue(txq); | 1320 | netif_tx_stop_queue(txq); |
| 1324 | 1321 | ||
| 1322 | if (!skb->xmit_more || netif_xmit_stopped(txq)) | ||
| 1323 | /* Packets are ready, update producer index */ | ||
| 1324 | bcmgenet_tdma_ring_writel(priv, ring->index, | ||
| 1325 | ring->prod_index, TDMA_PROD_INDEX); | ||
| 1325 | out: | 1326 | out: |
| 1326 | spin_unlock_irqrestore(&ring->lock, flags); | 1327 | spin_unlock_irqrestore(&ring->lock, flags); |
| 1327 | 1328 | ||
