Manfred Spraul wrote:
> 
> I think I found the bug:
> 
> Someone (Jeff?) removed the line
> 
>         tp->advertising[phy_idx++] = reg4;
> 
> from tulip/tulip_core.c
> 
> pnic_check_duplex uses that variable :-(
> 
> There are 2 workarounds:
> 
> * change pnic_check_duplex:
> s/tp->advertising[0]/tp->mii_advertise/g
> 
> * remove the new mii_advertise variable and replace it with
> 'tp->advertising[i]'.

mii_advertise is what MII is currently advertising on the current
media.  tp->advertising is per-phy, on the other hand.

Pat, Manfred, in pnic_check_duplex, make this change:
> -        negotiated = mii_reg5 & tp->advertising[0];
> +        negotiated = mii_reg5 & tulip_mdio_read(dev, tp->phys[0], 4);

and let me know how it goes.  I'm tempted to just remove
tp->advertising[] altogether.

        Jeff


-- 
Jeff Garzik       | "You see, in this world there's two kinds of
Building 1024     |  people, my friend: Those with loaded guns
MandrakeSoft      |  and those who dig. You dig."  --Blondie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to