--- linux/drivers/net/tulip/tulip_core.c Sun Jun 23 23:28:58 2002 +++ linux-2.4-benh/drivers/net/tulip/tulip_core.c Sun Jun 23 23:23:31 2002 @@ -463,6 +463,18 @@ } else tulip_select_media(dev, 1); + /* check for Apple 100BaseTX card and disable loops */ + + if ((dev->dev_addr[0] == 0x00) && + (dev->dev_addr[1] == 0x05) && + (dev->dev_addr[2] == 0x02) && + (tp->chip_id == DC21140)) { + outl(0x10f, ioaddr + CSR12); + iobarrier_rw(); + outl(0x03, ioaddr + CSR12); + iobarrier_rw(); + } + /* Start the chip's Tx to process setup frame. */ tulip_stop_rxtx(tp); barrier(); --- linux/drivers/net/tulip/media.c Mon Jun 17 15:20:00 2002 +++ linux-2.4-benh/drivers/net/tulip/media.c Sat Jun 22 13:15:26 2002 @@ -389,9 +389,9 @@ if (tulip_media_cap[dev->if_port] & MediaIsMII) { new_csr6 = 0x020E0000; } else if (tulip_media_cap[dev->if_port] & MediaIsFx) { - new_csr6 = 0x028600000; + new_csr6 = 0x02860000; } else - new_csr6 = 0x038600000; + new_csr6 = 0x03860000; if (tulip_debug > 1) printk(KERN_DEBUG "%s: No media description table, assuming " "%s transceiver, CSR12 %2.2x.\n",