All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael Chan" <mchan@broadcom.com>
To: davem@davemloft.net
Cc: jgarzik@pobox.com, netdev@oss.sgi.com
Subject: [PATCH 2.6.12-rc5 3/9] tg3: Add link test
Date: Thu, 26 May 2005 10:57:20 -0700	[thread overview]
Message-ID: <1117130240.3744.54.camel@rh4> (raw)
In-Reply-To: <1117128795.3744.22.camel@rh4>

[-- Attachment #1: Type: text/plain, Size: 49 bytes --]

Signed-off-by: Michael Chan <mchan@broadcom.com>

[-- Attachment #2: tg3-d3.patch --]
[-- Type: text/x-patch, Size: 1068 bytes --]

diff -Nru d2/drivers/net/tg3.c d3/drivers/net/tg3.c
--- d2/drivers/net/tg3.c	2005-05-25 12:59:00.000000000 -0700
+++ d3/drivers/net/tg3.c	2005-05-25 12:59:09.000000000 -0700
@@ -7281,6 +7281,32 @@
 	return err;
 }
 
+#define TG3_SERDES_TIMEOUT_SEC	2
+#define TG3_COPPER_TIMEOUT_SEC	6
+
+static int tg3_test_link(struct tg3 *tp)
+{
+	int i, max;
+
+	if (!netif_running(tp->dev))
+		return -ENODEV;
+
+	if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)
+		max = TG3_SERDES_TIMEOUT_SEC;
+	else
+		max = TG3_COPPER_TIMEOUT_SEC;
+
+	for (i = 0; i < max; i++) {
+		if (netif_carrier_ok(tp->dev))
+			return 0;
+
+		if (msleep_interruptible(1000))
+			break;
+	}
+
+	return -EIO;
+}
+
 static void tg3_self_test(struct net_device *dev, struct ethtool_test *etest,
 			  u64 *data)
 {
@@ -7292,6 +7318,10 @@
 		etest->flags |= ETH_TEST_FL_FAILED;
 		data[0] = 1;
 	}
+	if (tg3_test_link(tp) != 0) {
+		etest->flags |= ETH_TEST_FL_FAILED;
+		data[1] = 1;
+	}
 }
 
 static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)

  parent reply	other threads:[~2005-05-26 17:57 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-26 17:33 [PATCH 2.6.12-rc5 0/9] tg3: Add ethtool selftest Michael Chan
2005-05-26 17:56 ` [PATCH 2.6.12-rc5 1/9] tg3: Add basic selftest infrastructure Michael Chan
2005-05-26 17:57 ` [PATCH 2.6.12-rc5 2/9] tg3: Add nvram test Michael Chan
2005-05-26 17:57 ` Michael Chan [this message]
2005-05-26 17:58 ` [PATCH 2.6.12-rc5 4/9] tg3: Add parameter to tg3_halt Michael Chan
2005-05-26 17:58 ` [PATCH 2.6.12-rc5 5/9] tg3: Add register test Michael Chan
2005-05-26 17:58 ` [PATCH 2.6.12-rc5 6/9] tg3: Add memory test Michael Chan
2005-05-26 17:59 ` [PATCH 2.6.12-rc5 7/9] tg3: Add loopback test Michael Chan
2005-05-26 17:59 ` [PATCH 2.6.12-rc5 8/9] tg3: Add interrupt test Michael Chan
2005-05-26 18:00 ` [PATCH 2.6.12-rc5 9/9] tg3: Fix bug in tg3_load_firmware_cpu Michael Chan
2005-05-26 19:13   ` Jeff Garzik
2005-05-26 22:10   ` David S. Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1117130240.3744.54.camel@rh4 \
    --to=mchan@broadcom.com \
    --cc=davem@davemloft.net \
    --cc=jgarzik@pobox.com \
    --cc=netdev@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.