net/hns3: remove useless variable initializations
[dpdk.git] / drivers / net / hns3 / hns3_ethdev.c
index 8243ade..49aef7d 100644 (file)
@@ -77,6 +77,7 @@ static enum hns3_reset_level hns3_get_reset_level(struct hns3_adapter *hns,
 static int hns3_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
 static int hns3_vlan_pvid_configure(struct hns3_adapter *hns, uint16_t pvid,
                                    int on);
+static int hns3_update_speed_duplex(struct rte_eth_dev *eth_dev);
 
 static void
 hns3_pf_disable_irq0(struct hns3_hw *hw)
@@ -218,6 +219,8 @@ hns3_interrupt_handler(void *param)
                hns3_schedule_reset(hns);
        } else if (event_cause == HNS3_VECTOR0_EVENT_RST)
                hns3_schedule_reset(hns);
+       else if (event_cause == HNS3_VECTOR0_EVENT_MBX)
+               hns3_dev_handle_mbx_msg(hw);
        else
                hns3_err(hw, "Received unknown event");
 
@@ -2145,7 +2148,7 @@ hns3_set_mac_mtu(struct hns3_hw *hw, uint16_t new_mps)
 
        req = (struct hns3_config_max_frm_size_cmd *)desc.data;
        req->max_frm_size = rte_cpu_to_le_16(new_mps);
-       req->min_frm_size = HNS3_MIN_FRAME_LEN;
+       req->min_frm_size = RTE_ETHER_MIN_LEN;
 
        return hns3_cmd_send(hw, &desc, 1);
 }
@@ -2302,6 +2305,11 @@ hns3_dev_link_update(struct rte_eth_dev *eth_dev,
        struct hns3_mac *mac = &hw->mac;
        struct rte_eth_link new_link;
 
+       if (!hns3_is_reset_pending(hns)) {
+               hns3_update_speed_duplex(eth_dev);
+               hns3_update_link_status(hw);
+       }
+
        memset(&new_link, 0, sizeof(new_link));
        switch (mac->link_speed) {
        case ETH_SPEED_NUM_10M:
@@ -3589,7 +3597,7 @@ hns3_dev_promiscuous_enable(struct rte_eth_dev *dev)
        struct hns3_adapter *hns = dev->data->dev_private;
        struct hns3_hw *hw = &hns->hw;
        bool en_mc_pmc = (dev->data->all_multicast == 1) ? true : false;
-       int ret = 0;
+       int ret;
 
        rte_spinlock_lock(&hw->lock);
        ret = hns3_set_promisc_mode(hw, true, en_mc_pmc);
@@ -3606,7 +3614,7 @@ hns3_dev_promiscuous_disable(struct rte_eth_dev *dev)
        struct hns3_adapter *hns = dev->data->dev_private;
        struct hns3_hw *hw = &hns->hw;
        bool en_mc_pmc = (dev->data->all_multicast == 1) ? true : false;
-       int ret = 0;
+       int ret;
 
        /* If now in all_multicast mode, must remain in all_multicast mode. */
        rte_spinlock_lock(&hw->lock);
@@ -3624,7 +3632,7 @@ hns3_dev_allmulticast_enable(struct rte_eth_dev *dev)
        struct hns3_adapter *hns = dev->data->dev_private;
        struct hns3_hw *hw = &hns->hw;
        bool en_uc_pmc = (dev->data->promiscuous == 1) ? true : false;
-       int ret = 0;
+       int ret;
 
        rte_spinlock_lock(&hw->lock);
        ret = hns3_set_promisc_mode(hw, en_uc_pmc, true);
@@ -3641,7 +3649,7 @@ hns3_dev_allmulticast_disable(struct rte_eth_dev *dev)
        struct hns3_adapter *hns = dev->data->dev_private;
        struct hns3_hw *hw = &hns->hw;
        bool en_uc_pmc = (dev->data->promiscuous == 1) ? true : false;
-       int ret = 0;
+       int ret;
 
        /* If now in promiscuous mode, must remain in all_multicast mode. */
        if (dev->data->promiscuous == 1)
@@ -3806,14 +3814,16 @@ hns3_get_mac_link_status(struct hns3_hw *hw)
        return !!link_status;
 }
 
-static void
+void
 hns3_update_link_status(struct hns3_hw *hw)
 {
        int state;
 
        state = hns3_get_mac_link_status(hw);
-       if (state != hw->mac.link_status)
+       if (state != hw->mac.link_status) {
                hw->mac.link_status = state;
+               hns3_warn(hw, "Link status change to %s!", state ? "up" : "down");
+       }
 }
 
 static void
@@ -4125,7 +4135,7 @@ hns3_dev_start(struct rte_eth_dev *dev)
 {
        struct hns3_adapter *hns = dev->data->dev_private;
        struct hns3_hw *hw = &hns->hw;
-       int ret = 0;
+       int ret;
 
        PMD_INIT_FUNC_TRACE();
        if (rte_atomic16_read(&hw->reset.resetting))