netdev
[Top] [All Lists]

[PATCH] netpoll carrier clarification

To: Dave Miller <davem@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx, Patrick McHardy <kaber@xxxxxxxxx>
Subject: [PATCH] netpoll carrier clarification
From: Matt Mackall <mpm@xxxxxxxxxxx>
Date: Thu, 10 Mar 2005 15:21:38 -0800
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
Clarify the flaky carrier detect code and use msleep().

Signed-off-by: Matt Mackall <mpm@xxxxxxxxxxx>

Index: np/net/core/netpoll.c
===================================================================
--- np.orig/net/core/netpoll.c  2005-03-10 16:47:54.000000000 -0600
+++ np/net/core/netpoll.c       2005-03-10 17:15:34.000000000 -0600
@@ -18,6 +18,7 @@
 #include <linux/interrupt.h>
 #include <linux/netpoll.h>
 #include <linux/sched.h>
+#include <linux/delay.h>
 #include <linux/rcupdate.h>
 #include <linux/workqueue.h>
 #include <net/tcp.h>
@@ -660,12 +661,16 @@ int netpoll_setup(struct netpoll *np)
                        cond_resched();
                }
 
+               /* If carrier appears to come up instantly, we don't
+                * trust it and pause so that we don't pump all our
+                * queued console messages into the bitbucket.
+                */
+
                if (time_before(jiffies, atleast)) {
-                       printk(KERN_NOTICE "%s: carrier detect appears flaky,"
-                              " waiting 4 seconds\n",
+                       printk(KERN_NOTICE "%s: carrier detect appears"
+                              " untrustworthy, waiting 4 seconds\n",
                               np->name);
-                       while (time_before(jiffies, atmost))
-                               cond_resched();
+                       msleep(4000);
                }
        }
 

-- 
Mathematics is the supreme nostalgia of our time.

<Prev in Thread] Current Thread [Next in Thread>