--- 2.6/drivers/net/forcedeth.c 2004-04-10 09:52:45.000000000 +0200 +++ build-2.6/drivers/net/forcedeth.c 2004-04-13 18:58:59.000000000 +0200 @@ -1263,6 +1263,14 @@ dev->name, id1, id2, i); np->phyaddr = i; + if (id1 == 0x0015 && (id2 &0xfff0) == 0xf440) { + printk(KERN_DEBUG "%s: open: Found ICS, applying workaround.\n", dev->name); + /* workaround for ICS1893 PHY */ + mii_rw(dev, i, 0x0018, 0xD200); + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(HZ); + } + spin_lock_irq(&np->lock); nv_update_linkspeed(dev); spin_unlock_irq(&np->lock);