public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] eepro100 and IFF_RUNNING under 2.4
@ 2001-07-20 21:32 alex
  0 siblings, 0 replies; only message in thread
From: alex @ 2001-07-20 21:32 UTC (permalink / raw)
  To: linux-kernel

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

Hiho..  While working on some code which tries to monitor physical link status
for ethernet interfaces, I noticed that apparently under the 2.4 kernel, the
eepro100 driver does not reflect link status with the IFF_RUNNING flag as it
used to under 2.2.x.

It looks like a bit of the code in eepro100.c didn't get updated to reflect
some interface changes that happened somewhere in 2.3, so here is a patch which
should fix things (It also adds a bit of code to set things properly on startup as well, patch is against kernel 2.4.6).

(I'm not quite sure who to send this to, so I'm sending it to the list)

-alex

[-- Attachment #2: eepro100_linkstate24.patch --]
[-- Type: text/plain, Size: 783 bytes --]

--- drivers/net/eepro100.c.orig	Mon Jul  2 14:03:04 2001
+++ drivers/net/eepro100.c	Fri Jul 20 13:28:20 2001
@@ -976,6 +976,11 @@
 	if ((sp->phy[0] & 0x8000) == 0)
 		sp->advertising = mdio_read(ioaddr, sp->phy[0] & 0x1f, 4);
 
+	if (mdio_read(ioaddr, sp->phy[0], 1) & 0x0004)
+		netif_carrier_on(dev);
+	else
+		netif_carrier_off(dev);
+
 	if (speedo_debug > 2) {
 		printk(KERN_DEBUG "%s: Done speedo_open(), status %8.8x.\n",
 			   dev->name, inw(ioaddr + SCBStatus));
@@ -1088,9 +1093,9 @@
 			mdio_read(ioaddr, phy_num, 1);
 			/* If link beat has returned... */
 			if (mdio_read(ioaddr, phy_num, 1) & 0x0004)
-				dev->flags |= IFF_RUNNING;
+				netif_carrier_on(dev);
 			else
-				dev->flags &= ~IFF_RUNNING;
+				netif_carrier_off(dev);
 		}
 	}
 	if (speedo_debug > 3) {

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-07-20 21:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-07-20 21:32 [PATCH] eepro100 and IFF_RUNNING under 2.4 alex

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox