Hi,
>>Uhmmm, you don't need to poll with the rtl8139. There is a link change
>>interrupt. Here is the recently added from rtl8139.c
>
>ok, I'll try this next time I have access to the card.
...that was some days ago. I've seen that Jeff is enhancing the MII
interface library, so I used the functions provided there. Patch is
against 2.4.20rc2 and 2.5 with some offset. Please apply if it looks
good.
Cheers, Stefan
------------------------------------------------------------------------
--- linux/drivers/net/8139too.c.old 2002-11-19 00:32:04.000000000 +0100
+++ linux/drivers/net/8139too.c 2002-11-21 22:32:39.000000000 +0100
@@ -1335,18 +1335,7 @@
struct rtl8139_private *tp = dev->priv;
if (tp->phys[0] >= 0) {
- u16 mii_lpa = mdio_read(dev, tp->phys[0], MII_LPA);
- if (mii_lpa == 0xffff)
- ; /* Not there */
- else if ((mii_lpa & LPA_100FULL) == LPA_100FULL
- || (mii_lpa & 0x00C0) == LPA_10FULL)
- tp->mii.full_duplex = 1;
-
- printk (KERN_INFO"%s: Setting %s%s-duplex based on"
- " auto-negotiated partner ability %4.4x.\n",
- dev->name, mii_lpa == 0 ? "" :
- (mii_lpa & 0x0180) ? "100mbps " : "10mbps ",
- tp->mii.full_duplex ? "full" : "half", mii_lpa);
+ mii_check_media(&tp->mii, 1, 1);