]> Pileus Git - ~andy/linux/blobdiff - net/core/link_watch.c
Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / net / core / link_watch.c
index 1e401e12dc720609aca6227b0dd1c7d23922f867..bf8f7af699d7035e6e61af7c794c10877cd4fff9 100644 (file)
@@ -178,6 +178,7 @@ static void __linkwatch_run_queue(int urgent_only)
                 */
                clear_bit(__LINK_STATE_LINKWATCH_PENDING, &dev->state);
 
+               rfc2863_policy(dev);
                if (dev->flags & IFF_UP) {
                        if (netif_carrier_ok(dev))
                                dev_activate(dev);
@@ -214,12 +215,6 @@ void linkwatch_fire_event(struct net_device *dev)
 {
        bool urgent = linkwatch_urgent_event(dev);
 
-       rfc2863_policy(dev);
-
-       /* Some drivers call netif_carrier_off early */
-       if (dev->reg_state == NETREG_UNINITIALIZED)
-               return;
-
        if (!test_and_set_bit(__LINK_STATE_LINKWATCH_PENDING, &dev->state)) {
                dev_hold(dev);