sky2: pci config blocks phy power control
authorStephen Hemminger <shemminger@linux-foundation.org>
Tue, 27 Feb 2007 01:18:34 +0000 (17:18 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 3 Mar 2007 00:32:46 +0000 (16:32 -0800)
PHY power control won't work because writes to PCI config space
are not re-enabled.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/sky2.c

index 16616f5440d037a279392c4b9d6be5e3e1232248..6e494635eb21a9d1583c7ad11d96799959d979b4 100644 (file)
@@ -569,8 +569,8 @@ static void sky2_phy_power(struct sky2_hw *hw, unsigned port, int onoff)
        if (hw->chip_id == CHIP_ID_YUKON_XL && hw->chip_rev > 1)
                onoff = !onoff;
 
+       sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON);
        reg1 = sky2_pci_read32(hw, PCI_DEV_REG1);
-
        if (onoff)
                /* Turn off phy power saving */
                reg1 &= ~phy_power[port];
@@ -579,6 +579,7 @@ static void sky2_phy_power(struct sky2_hw *hw, unsigned port, int onoff)
 
        sky2_pci_write32(hw, PCI_DEV_REG1, reg1);
        sky2_pci_read32(hw, PCI_DEV_REG1);
+       sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF);
        udelay(100);
 }