]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
sky2: turn on clocks when doing resume
authorStephen Hemminger <shemminger@linux-foundation.org>
Sat, 7 Apr 2007 23:42:08 +0000 (16:42 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Apr 2007 20:47:02 +0000 (13:47 -0700)
Some of these chips are disabled until clock is enabled.
This fixes:
     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=404107

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

index 881e46de3d8d2448157b6abbecdfe462102f24b0..00ecbf6350dc0e35b6bb37eb23287db8675d2f89 100644 (file)
@@ -2421,6 +2421,10 @@ static int sky2_reset(struct sky2_hw *hw)
                return -EOPNOTSUPP;
        }
 
+       /* Make sure and enable all clocks */
+       if (hw->chip_id == CHIP_ID_YUKON_EC_U)
+               sky2_pci_write32(hw, PCI_DEV_REG3, 0);
+
        hw->chip_rev = (sky2_read8(hw, B2_MAC_CFG) & CFG_CHIP_R_MSK) >> 4;
 
        /* This rev is really old, and requires untested workarounds */
@@ -3639,6 +3643,9 @@ static int sky2_resume(struct pci_dev *pdev)
 
        pci_restore_state(pdev);
        pci_enable_wake(pdev, PCI_D0, 0);
+
+       if (hw->chip_id == CHIP_ID_YUKON_EC_U)
+               sky2_pci_write32(hw, PCI_DEV_REG3, 0);
        sky2_set_power_state(hw, PCI_D0);
 
        err = sky2_reset(hw);