The sky2 driver clears some bits in the PHY control register, that cause the PHY interface to get changed. Some of these deal with voltage and power savings as well. This may explain some of the failures on Gigabyte DS-3 motherboard.
The clue to possible problem was looking at why loading/unloading sky2 would break vendor sk98lin driver (ie what registers changed). --- a/drivers/net/sky2.c 2007-08-21 09:53:41.000000000 -0700 +++ b/drivers/net/sky2.c 2007-08-21 09:53:43.000000000 -0700 @@ -696,8 +696,8 @@ static void sky2_mac_init(struct sky2_hw int i; const u8 *addr = hw->dev[port]->dev_addr; - sky2_write32(hw, SK_REG(port, GPHY_CTRL), GPC_RST_SET); - sky2_write32(hw, SK_REG(port, GPHY_CTRL), GPC_RST_CLR); + sky2_write8(hw, SK_REG(port, GPHY_CTRL), GPC_RST_SET); + sky2_write8(hw, SK_REG(port, GPHY_CTRL), GPC_RST_CLR); sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_RST_CLR); - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html