[dpdk-stable] [PATCH 19.11 3/3] net/bnxt: remove a redundant variable
Kalesh A P
kalesh-anakkur.purayil at broadcom.com
Fri Feb 28 09:13:59 CET 2020
From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
[ upstream commit 90c957ef3b11f361dd8e6519d9e195f01295b23e ]
Use "dev->data->dev_started" state, instead of local "dev_stopped"
to check whether port has been started or not.
Fixes: 316e412299fd ("net/bnxt: fix crash when closing")
Signed-off-by: Somnath Kotur <somnath.kotur at broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur at broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
---
drivers/net/bnxt/bnxt.h | 1 -
drivers/net/bnxt/bnxt_ethdev.c | 24 ++++++++++--------------
2 files changed, 10 insertions(+), 15 deletions(-)
diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
index 6422753..93735a2 100644
--- a/drivers/net/bnxt/bnxt.h
+++ b/drivers/net/bnxt/bnxt.h
@@ -649,7 +649,6 @@ struct bnxt {
#define BNXT_OUTER_TPID_BD_SHFT 16
uint32_t outer_tpid_bd;
struct bnxt_pf_info pf;
- uint8_t dev_stopped;
uint8_t vxlan_port_cnt;
uint8_t geneve_port_cnt;
uint16_t vxlan_port;
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index c21a05a..802045d 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -860,9 +860,9 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
goto error;
eth_dev->data->scattered_rx = bnxt_scattered_rx(eth_dev);
+ eth_dev->data->dev_started = 1;
bnxt_link_update(eth_dev, 1, ETH_LINK_UP);
- bp->dev_stopped = 0;
if (rx_offloads & DEV_RX_OFFLOAD_VLAN_FILTER)
vlan_mask |= ETH_VLAN_FILTER_MASK;
@@ -875,7 +875,6 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
eth_dev->rx_pkt_burst = bnxt_receive_function(eth_dev);
eth_dev->tx_pkt_burst = bnxt_transmit_function(eth_dev);
- eth_dev->data->dev_started = 1;
pthread_mutex_lock(&bp->def_cp_lock);
bnxt_schedule_fw_health_check(bp);
pthread_mutex_unlock(&bp->def_cp_lock);
@@ -886,7 +885,7 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
bnxt_shutdown_nic(bp);
bnxt_free_tx_mbufs(bp);
bnxt_free_rx_mbufs(bp);
- bp->dev_stopped = 1;
+ eth_dev->data->dev_started = 0;
return rc;
}
@@ -957,7 +956,6 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
bnxt_int_handler(eth_dev);
bnxt_shutdown_nic(bp);
bnxt_hwrm_if_change(bp, 0);
- bp->dev_stopped = 1;
bp->rx_cosq_cnt = 0;
}
@@ -965,7 +963,7 @@ static void bnxt_dev_close_op(struct rte_eth_dev *eth_dev)
{
struct bnxt *bp = eth_dev->data->dev_private;
- if (bp->dev_stopped == 0)
+ if (eth_dev->data->dev_started)
bnxt_dev_stop_op(eth_dev);
if (eth_dev->data->mac_addrs != NULL) {
@@ -1155,7 +1153,7 @@ static int bnxt_promiscuous_enable_op(struct rte_eth_dev *eth_dev)
return rc;
/* Filter settings will get applied when port is started */
- if (bp->dev_stopped == 1)
+ if (!eth_dev->data->dev_started)
return 0;
if (bp->vnic_info == NULL)
@@ -1184,7 +1182,7 @@ static int bnxt_promiscuous_disable_op(struct rte_eth_dev *eth_dev)
return rc;
/* Filter settings will get applied when port is started */
- if (bp->dev_stopped == 1)
+ if (!eth_dev->data->dev_started)
return 0;
if (bp->vnic_info == NULL)
@@ -1213,7 +1211,7 @@ static int bnxt_allmulticast_enable_op(struct rte_eth_dev *eth_dev)
return rc;
/* Filter settings will get applied when port is started */
- if (bp->dev_stopped == 1)
+ if (!eth_dev->data->dev_started)
return 0;
if (bp->vnic_info == NULL)
@@ -1242,7 +1240,7 @@ static int bnxt_allmulticast_disable_op(struct rte_eth_dev *eth_dev)
return rc;
/* Filter settings will get applied when port is started */
- if (bp->dev_stopped == 1)
+ if (!eth_dev->data->dev_started)
return 0;
if (bp->vnic_info == NULL)
@@ -1974,7 +1972,7 @@ bnxt_vlan_offload_set_op(struct rte_eth_dev *dev, int mask)
return rc;
/* Filter settings will get applied when port is started */
- if (bp->dev_stopped == 1)
+ if (!dev->data->dev_started)
return 0;
if (mask & ETH_VLAN_FILTER_MASK) {
@@ -3881,7 +3879,7 @@ static void bnxt_dev_cleanup(struct bnxt *bp)
{
bnxt_set_hwrm_link_config(bp, false);
bp->link_info.link_up = 0;
- if (bp->dev_stopped == 0)
+ if (bp->eth_dev->data->dev_started)
bnxt_dev_stop_op(bp->eth_dev);
bnxt_uninit_resources(bp, true);
@@ -4815,8 +4813,6 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
bp = eth_dev->data->dev_private;
- bp->dev_stopped = 1;
-
if (bnxt_vf_pciid(pci_dev->id.device_id))
bp->flags |= BNXT_FLAG_VF;
@@ -4918,7 +4914,7 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev)
bp->rx_mem_zone = NULL;
}
- if (bp->dev_stopped == 0)
+ if (eth_dev->data->dev_started)
bnxt_dev_close_op(eth_dev);
if (bp->pf.vf_info)
rte_free(bp->pf.vf_info);
--
2.10.1
More information about the stable
mailing list