netxen: fix link notification order
authorFlavio Leitner <fbl@redhat.com>
Wed, 11 Jul 2012 08:56:55 +0000 (08:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Jul 2012 14:54:46 +0000 (07:54 -0700)
First update the adapter variables with the current speed and
mode before fire the notification. Otherwise, the get_settings()
may provide old values.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Acked-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c

index b2c1b67647712f4f1816f25a2db1095f5c165a88..bc165f4d0f65cebb6cc82e3aa99590863963f767 100644 (file)
@@ -1437,8 +1437,6 @@ netxen_handle_linkevent(struct netxen_adapter *adapter, nx_fw_msg_t *msg)
                                netdev->name, cable_len);
        }
 
-       netxen_advert_link_change(adapter, link_status);
-
        /* update link parameters */
        if (duplex == LINKEVENT_FULL_DUPLEX)
                adapter->link_duplex = DUPLEX_FULL;
@@ -1447,6 +1445,8 @@ netxen_handle_linkevent(struct netxen_adapter *adapter, nx_fw_msg_t *msg)
        adapter->module_type = module;
        adapter->link_autoneg = autoneg;
        adapter->link_speed = link_speed;
+
+       netxen_advert_link_change(adapter, link_status);
 }
 
 static void