[patch 06/31] sky2: turn on clocks when doing resume

Greg KH
2007-04-11T23:04:42Z

[-- Attachment #1: sky2-ec-clocks-resume.patch --]
[-- Type: text/plain, Size: 1160 bytes --]

-stable review patch. If anyone has any objections, please let us know.

------------------
From: Stephen Hemminger <shemminger@linux-foundation.org>

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 | 7 +++++++
1 file changed, 7 insertions(+)

--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -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 *p

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);

--