net/avf: fix link autoneg value
[dpdk.git] / drivers / net / avf / avf_ethdev.c
index eba1d68..4442c3c 100644 (file)
@@ -191,7 +191,7 @@ avf_init_rss(struct avf_adapter *adapter)
                                   vf->vf_res->rss_key_size));
 
        /* init RSS LUT table */
-       for (i = 0; i < vf->vf_res->rss_lut_size; i++, j++) {
+       for (i = 0, j = 0; i < vf->vf_res->rss_lut_size; i++, j++) {
                if (j >= nb_q)
                        j = 0;
                vf->rss_lut[i] = j;
@@ -608,12 +608,13 @@ avf_dev_link_update(struct rte_eth_dev *dev,
        new_link.link_duplex = ETH_LINK_FULL_DUPLEX;
        new_link.link_status = vf->link_up ? ETH_LINK_UP :
                                             ETH_LINK_DOWN;
-       new_link.link_autoneg = !!(dev->data->dev_conf.link_speeds &
+       new_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
                                ETH_LINK_SPEED_FIXED);
 
-       rte_atomic64_cmpset((uint64_t *)&dev->data->dev_link,
-                           *(uint64_t *)&dev->data->dev_link,
-                           *(uint64_t *)&new_link);
+       if (rte_atomic64_cmpset((uint64_t *)&dev->data->dev_link,
+                               *(uint64_t *)&dev->data->dev_link,
+                               *(uint64_t *)&new_link) == 0)
+               return -1;
 
        return 0;
 }
@@ -762,10 +763,10 @@ avf_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
                        err = avf_enable_vlan_strip(adapter);
                else
                        err = avf_disable_vlan_strip(adapter);
-       }
 
-       if (err)
-               return -EIO;
+               if (err)
+                       return -EIO;
+       }
        return 0;
 }
 
@@ -1342,10 +1343,10 @@ RTE_INIT(avf_init_log);
 static void
 avf_init_log(void)
 {
-       avf_logtype_init = rte_log_register("pmd.avf.init");
+       avf_logtype_init = rte_log_register("pmd.net.avf.init");
        if (avf_logtype_init >= 0)
                rte_log_set_level(avf_logtype_init, RTE_LOG_NOTICE);
-       avf_logtype_driver = rte_log_register("pmd.avf.driver");
+       avf_logtype_driver = rte_log_register("pmd.net.avf.driver");
        if (avf_logtype_driver >= 0)
                rte_log_set_level(avf_logtype_driver, RTE_LOG_NOTICE);
 }