netxen: re-init station address after h/w init
authordhananjay@netxen.com <dhananjay@netxen.com>
Wed, 25 Jul 2007 14:43:11 +0000 (20:13 +0530)
committerJeff Garzik <jeff@garzik.org>
Mon, 30 Jul 2007 19:51:59 +0000 (15:51 -0400)
This is a workaround for firmware bug with 2nd port of multiport adapter,
where MAC address is reset. Driver just needs to overwrite it with the
value read from PROM.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/netxen/netxen_nic_main.c

index 19e2fa9..7d93bc3 100644 (file)
@@ -895,8 +895,6 @@ static int netxen_nic_open(struct net_device *netdev)
 
        /* Done here again so that even if phantom sw overwrote it,
         * we set it */
-       if (adapter->macaddr_set)
-               adapter->macaddr_set(adapter, netdev->dev_addr);
        if (adapter->init_port
            && adapter->init_port(adapter, adapter->portnum) != 0) {
            del_timer_sync(&adapter->watchdog_timer);
@@ -904,6 +902,8 @@ static int netxen_nic_open(struct net_device *netdev)
                                netxen_nic_driver_name, adapter->portnum);
                return -EIO;
        }
+       if (adapter->macaddr_set)
+               adapter->macaddr_set(adapter, netdev->dev_addr);
 
        netxen_nic_set_link_parameters(adapter);