From: Jeff Garzik From: Neil Horman Might fix a few 10bT problems whihc people have been reporting. There are a few coding errors, and according to the docs the macro which is being used to determine the presence of an MII interface was off by a few bits. --- drivers/net/3c59x.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff -puN drivers/net/3c59x.c~3c59x-xcvr-fix drivers/net/3c59x.c --- 25/drivers/net/3c59x.c~3c59x-xcvr-fix 2004-03-09 18:41:38.000000000 -0800 +++ 25-akpm/drivers/net/3c59x.c 2004-03-09 18:46:42.000000000 -0800 @@ -712,7 +712,7 @@ enum Window3 { /* Window 3: MAC/config #define RAM_SPEED(v) BFEXT(v, 4, 2) #define ROM_SIZE(v) BFEXT(v, 6, 2) #define RAM_SPLIT(v) BFEXT(v, 16, 2) -#define XCVR(v) BFEXT(v, 20, 4) +#define XCVR(v) BFEXT(v, 21, 16) #define AUTOSELECT(v) BFEXT(v, 24, 1) enum Window4 { /* Window 4: Xcvr/media bits. */ @@ -1366,7 +1366,7 @@ static int __devinit vortex_probe1(struc vp->available_media = 0x40; config = inl(ioaddr + Wn3_Config); if (print_info) { - printk(KERN_DEBUG " Internal config register is %4.4x, " + printk(KERN_INFO " Internal config register is %4.4x, " "transceivers %#x.\n", config, inw(ioaddr + Wn3_Options)); printk(KERN_INFO " %dK %s-wide RAM %s Rx:Tx split, %s%s interface.\n", 8 << RAM_SIZE(config), @@ -2875,7 +2875,7 @@ static int vortex_ioctl(struct net_devic long ioaddr = dev->base_addr; struct mii_ioctl_data *data = (struct mii_ioctl_data *)&rq->ifr_data; int phy = vp->phys[0] & 0x1f; - int retval; + int retval = 0; switch(cmd) { case SIOCGMIIPHY: /* Get address of MII PHY in use. */ @@ -2900,7 +2900,6 @@ static int vortex_ioctl(struct net_devic retval = -EOPNOTSUPP; break; } - return retval; } _