summaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
authorstephen hemminger <shemminger@vyatta.com>2010-02-07 06:23:53 +0000
committerDavid S. Miller <davem@davemloft.net>2010-02-10 17:56:27 -0800
commita0db28b898266265c1cc2ff84f041a561a265504 (patch)
tree28bfe53d792eb7764489ea3496148083f9c84767 /drivers/net/sky2.c
parentbd011e8826978b0f6cd0f929edec353fd755f49b (diff)
downloadlinux-a0db28b898266265c1cc2ff84f041a561a265504.tar.gz
linux-a0db28b898266265c1cc2ff84f041a561a265504.tar.bz2
linux-a0db28b898266265c1cc2ff84f041a561a265504.zip
sky2: resume clocks
Change the resume path to use pci write config for a couple of reasons: 1. pci_write_config_dword() allows for more error checking of PCI health after resume. 2. better to toggle this register on all chip types, since that is what vendor driver does. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 744362272e2d..1593ed49e8fe 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -4859,10 +4859,11 @@ static int sky2_resume(struct pci_dev *pdev)
pci_enable_wake(pdev, PCI_D0, 0);
/* Re-enable all clocks */
- if (hw->chip_id == CHIP_ID_YUKON_EX ||
- hw->chip_id == CHIP_ID_YUKON_EC_U ||
- hw->chip_id == CHIP_ID_YUKON_FE_P)
- sky2_pci_write32(hw, PCI_DEV_REG3, 0);
+ err = pci_write_config_dword(pdev, PCI_DEV_REG3, 0);
+ if (err) {
+ dev_err(&pdev->dev, "PCI write config failed\n");
+ goto out;
+ }
sky2_reset(hw);
sky2_write32(hw, B0_IMSK, Y2_IS_BASE);