diff options
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/link_watch.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/net/core/link_watch.c b/net/core/link_watch.c index 357bd4ee4baa..c3519c6d1b16 100644 --- a/net/core/link_watch.c +++ b/net/core/link_watch.c | |||
@@ -78,8 +78,13 @@ static void rfc2863_policy(struct net_device *dev) | |||
78 | 78 | ||
79 | static bool linkwatch_urgent_event(struct net_device *dev) | 79 | static bool linkwatch_urgent_event(struct net_device *dev) |
80 | { | 80 | { |
81 | return netif_running(dev) && netif_carrier_ok(dev) && | 81 | if (!netif_running(dev)) |
82 | qdisc_tx_changing(dev); | 82 | return false; |
83 | |||
84 | if (dev->ifindex != dev->iflink) | ||
85 | return true; | ||
86 | |||
87 | return netif_carrier_ok(dev) && qdisc_tx_changing(dev); | ||
83 | } | 88 | } |
84 | 89 | ||
85 | 90 | ||