net/enic: fix setting MAC address when a port is restarted
authorNelson Escobar <neescoba@cisco.com>
Fri, 8 Jul 2016 01:10:21 +0000 (18:10 -0700)
committerBruce Richardson <bruce.richardson@intel.com>
Fri, 8 Jul 2016 20:59:08 +0000 (22:59 +0200)
enic_disable() removed the MAC address when a port was shut down but
enic_enable() didn't add the MAC address back when the port was
started again. Move where we set the MAC address for the adapter from
enic_setup_finish() to a enic_enable() so that port restarting works
properly.

Fixes: fefed3d1e62c ("enic: new driver")

Signed-off-by: Nelson Escobar <neescoba@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
drivers/net/enic/enic_main.c

index d4e43b5..5d47c01 100644 (file)
@@ -456,6 +456,8 @@ int enic_enable(struct enic *enic)
        for (index = 0; index < enic->rq_count; index++)
                enic_start_rq(enic, index);
 
+       vnic_dev_add_addr(enic->vdev, enic->mac_addr);
+
        vnic_dev_enable_wait(enic->vdev);
 
        /* Register and enable error interrupt */
@@ -972,8 +974,6 @@ int enic_setup_finish(struct enic *enic)
                return -1;
        }
 
-       vnic_dev_add_addr(enic->vdev, enic->mac_addr);
-
        /* Default conf */
        vnic_dev_packet_filter(enic->vdev,
                1 /* directed  */,