From e5a94764c43ef2cc352ebeb108b5425c9ef21404 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Tue, 30 Aug 2011 23:31:58 +0000 Subject: [PATCH] --- yaml --- r: 265738 b: refs/heads/master c: c37e0c993055d8c4fd82202331d06e6ef9bfec4b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/core/link_watch.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index a74e2a6fb83a..78dad614c57b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3e829a784c16513ac9a1d29ad23d7753d8f40b79 +refs/heads/master: c37e0c993055d8c4fd82202331d06e6ef9bfec4b diff --git a/trunk/net/core/link_watch.c b/trunk/net/core/link_watch.c index 357bd4ee4baa..c3519c6d1b16 100644 --- a/trunk/net/core/link_watch.c +++ b/trunk/net/core/link_watch.c @@ -78,8 +78,13 @@ static void rfc2863_policy(struct net_device *dev) static bool linkwatch_urgent_event(struct net_device *dev) { - return netif_running(dev) && netif_carrier_ok(dev) && - qdisc_tx_changing(dev); + if (!netif_running(dev)) + return false; + + if (dev->ifindex != dev->iflink) + return true; + + return netif_carrier_ok(dev) && qdisc_tx_changing(dev); }