X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fe1000%2Fem_rxtx.c;h=db5d1222ce3902cbe6d873eba22127fa4b97296d;hb=f611dada1af8d32a0264c4b8c2066c8cdc12edb8;hp=5925e490641b99b98b3267c251f44eaca1eba581;hpb=08141dc7e1d65744ce46e4421e4930c3b0af374b;p=dpdk.git diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c index 5925e49064..db5d1222ce 100644 --- a/drivers/net/e1000/em_rxtx.c +++ b/drivers/net/e1000/em_rxtx.c @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include #include @@ -1611,12 +1611,14 @@ em_dev_free_queues(struct rte_eth_dev *dev) for (i = 0; i < dev->data->nb_rx_queues; i++) { eth_em_rx_queue_release(dev->data->rx_queues[i]); dev->data->rx_queues[i] = NULL; + rte_eth_dma_zone_free(dev, "rx_ring", i); } dev->data->nb_rx_queues = 0; for (i = 0; i < dev->data->nb_tx_queues; i++) { eth_em_tx_queue_release(dev->data->tx_queues[i]); dev->data->tx_queues[i] = NULL; + rte_eth_dma_zone_free(dev, "tx_ring", i); } dev->data->nb_tx_queues = 0; } @@ -2049,13 +2051,12 @@ e1000_flush_tx_ring(struct rte_eth_dev *dev) tx_desc->lower.data = rte_cpu_to_le_32(txd_lower | size); tx_desc->upper.data = 0; - rte_wmb(); + rte_io_wmb(); txq->tx_tail++; if (txq->tx_tail == txq->nb_tx_desc) txq->tx_tail = 0; - rte_io_wmb(); tdt_reg_addr = E1000_PCI_REG_ADDR(hw, E1000_TDT(i)); - E1000_PCI_REG_WRITE_RELAXED(tdt_reg_addr, txq->tx_tail); + E1000_PCI_REG_WRITE(tdt_reg_addr, txq->tx_tail); usec_delay(250); } }