This flag is already present in the Ethernet device.

Signed-off-by: Nelio Laranjeiro <nelio.laranje...@6wind.com>
---
 drivers/net/mlx5/mlx5.h         |  1 -
 drivers/net/mlx5/mlx5_flow.c    |  6 +++---
 drivers/net/mlx5/mlx5_rxq.c     |  2 +-
 drivers/net/mlx5/mlx5_trigger.c | 12 ------------
 drivers/net/mlx5/mlx5_txq.c     |  2 +-
 5 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 155dd76..40c3475 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -103,7 +103,6 @@ struct priv {
        /* Device properties. */
        uint16_t mtu; /* Configured MTU. */
        uint8_t port; /* Physical port number. */
-       unsigned int started:1; /* Device started, flows enabled. */
        unsigned int promisc_req:1; /* Promiscuous mode requested. */
        unsigned int allmulti_req:1; /* All multicast mode requested. */
        unsigned int hw_csum:1; /* Checksum offload is supported. */
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 77b85a6..996fe31 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1053,7 +1053,7 @@ priv_flow_create_action_queue_drop(struct priv *priv,
        ++flow->ibv_attr->num_of_specs;
        flow->offset += sizeof(struct ibv_exp_flow_spec_action_drop);
        rte_flow->ibv_attr = flow->ibv_attr;
-       if (!priv->started)
+       if (!priv->dev->data->dev_started)
                return rte_flow;
        rte_flow->qp = priv->flow_drop_queue->qp;
        rte_flow->ibv_flow = ibv_exp_create_flow(rte_flow->qp,
@@ -1161,7 +1161,7 @@ priv_flow_create_action_queue(struct priv *priv,
                                   NULL, "cannot allocate QP");
                goto error;
        }
-       if (!priv->started)
+       if (!priv->dev->data->dev_started)
                return rte_flow;
        rte_flow->ibv_flow = ibv_exp_create_flow(rte_flow->qp,
                                                 rte_flow->ibv_attr);
@@ -1627,7 +1627,7 @@ mlx5_flow_isolate(struct rte_eth_dev *dev,
        struct priv *priv = dev->data->dev_private;
 
        priv_lock(priv);
-       if (priv->started) {
+       if (dev->data->dev_started) {
                rte_flow_error_set(error, EBUSY,
                                   RTE_FLOW_ERROR_TYPE_UNSPECIFIED,
                                   NULL,
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index c09a554..88a024c 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1140,7 +1140,7 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t 
idx, uint16_t desc,
        if (rxq != NULL) {
                DEBUG("%p: reusing already allocated queue index %u (%p)",
                      (void *)dev, idx, (void *)rxq);
-               if (priv->started) {
+               if (dev->data->dev_started) {
                        priv_unlock(priv);
                        return -EEXIST;
                }
diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index 3b17678..a4a0acd 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -61,10 +61,6 @@ mlx5_dev_start(struct rte_eth_dev *dev)
                return -E_RTE_SECONDARY;
 
        priv_lock(priv);
-       if (priv->started) {
-               priv_unlock(priv);
-               return 0;
-       }
        /* Update Rx/Tx callback. */
        priv_select_tx_function(priv);
        priv_select_rx_function(priv);
@@ -72,8 +68,6 @@ mlx5_dev_start(struct rte_eth_dev *dev)
        err = priv_create_hash_rxqs(priv);
        if (!err)
                err = priv_rehash_flows(priv);
-       if (!err)
-               priv->started = 1;
        else {
                ERROR("%p: an error occurred while configuring hash RX queues:"
                      " %s",
@@ -82,7 +76,6 @@ mlx5_dev_start(struct rte_eth_dev *dev)
        }
        err = priv_flow_start(priv);
        if (err) {
-               priv->started = 0;
                ERROR("%p: an error occurred while configuring flows:"
                      " %s",
                      (void *)priv, strerror(err));
@@ -125,10 +118,6 @@ mlx5_dev_stop(struct rte_eth_dev *dev)
                return;
 
        priv_lock(priv);
-       if (!priv->started) {
-               priv_unlock(priv);
-               return;
-       }
        DEBUG("%p: cleaning up and destroying hash RX queues", (void *)dev);
        priv_special_flow_disable_all(priv);
        priv_mac_addrs_disable(priv);
@@ -136,6 +125,5 @@ mlx5_dev_stop(struct rte_eth_dev *dev)
        priv_flow_stop(priv);
        priv_rx_intr_vec_disable(priv);
        priv_dev_interrupt_handler_uninstall(priv, dev);
-       priv->started = 0;
        priv_unlock(priv);
 }
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 5384b51..3f6702a 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -449,7 +449,7 @@ mlx5_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, 
uint16_t desc,
        if (txq != NULL) {
                DEBUG("%p: reusing already allocated queue index %u (%p)",
                      (void *)dev, idx, (void *)txq);
-               if (priv->started) {
+               if (dev->data->dev_started) {
                        priv_unlock(priv);
                        return -EEXIST;
                }
-- 
2.1.4

Reply via email to