|
@@ -1071,8 +1071,6 @@ int dev_close(struct net_device *dev)
|
|
*/
|
|
*/
|
|
call_netdevice_notifiers(NETDEV_GOING_DOWN, dev);
|
|
call_netdevice_notifiers(NETDEV_GOING_DOWN, dev);
|
|
|
|
|
|
- dev_deactivate(dev);
|
|
|
|
-
|
|
|
|
clear_bit(__LINK_STATE_START, &dev->state);
|
|
clear_bit(__LINK_STATE_START, &dev->state);
|
|
|
|
|
|
/* Synchronize to scheduled poll. We cannot touch poll list,
|
|
/* Synchronize to scheduled poll. We cannot touch poll list,
|
|
@@ -1083,6 +1081,8 @@ int dev_close(struct net_device *dev)
|
|
*/
|
|
*/
|
|
smp_mb__after_clear_bit(); /* Commit netif_running(). */
|
|
smp_mb__after_clear_bit(); /* Commit netif_running(). */
|
|
|
|
|
|
|
|
+ dev_deactivate(dev);
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Call the device specific close. This cannot fail.
|
|
* Call the device specific close. This cannot fail.
|
|
* Only if device is UP
|
|
* Only if device is UP
|