diff options
| -rw-r--r-- | drivers/net/sky2.c | 16 | 
1 files changed, 8 insertions, 8 deletions
| diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 6b87c7a5c906..765c8f063512 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
| @@ -187,12 +187,11 @@ static u16 gm_phy_read(struct sky2_hw *hw, unsigned port, u16 reg) | |||
| 187 | return v; | 187 | return v; | 
| 188 | } | 188 | } | 
| 189 | 189 | ||
| 190 | static int sky2_set_power_state(struct sky2_hw *hw, pci_power_t state) | 190 | static void sky2_set_power_state(struct sky2_hw *hw, pci_power_t state) | 
| 191 | { | 191 | { | 
| 192 | u16 power_control; | 192 | u16 power_control; | 
| 193 | u32 reg1; | 193 | u32 reg1; | 
| 194 | int vaux; | 194 | int vaux; | 
| 195 | int ret = 0; | ||
| 196 | 195 | ||
| 197 | pr_debug("sky2_set_power_state %d\n", state); | 196 | pr_debug("sky2_set_power_state %d\n", state); | 
| 198 | sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON); | 197 | sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON); | 
| @@ -275,12 +274,10 @@ static int sky2_set_power_state(struct sky2_hw *hw, pci_power_t state) | |||
| 275 | break; | 274 | break; | 
| 276 | default: | 275 | default: | 
| 277 | printk(KERN_ERR PFX "Unknown power state %d\n", state); | 276 | printk(KERN_ERR PFX "Unknown power state %d\n", state); | 
| 278 | ret = -1; | ||
| 279 | } | 277 | } | 
| 280 | 278 | ||
| 281 | sky2_pci_write16(hw, hw->pm_cap + PCI_PM_CTRL, power_control); | 279 | sky2_pci_write16(hw, hw->pm_cap + PCI_PM_CTRL, power_control); | 
| 282 | sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF); | 280 | sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF); | 
| 283 | return ret; | ||
| 284 | } | 281 | } | 
| 285 | 282 | ||
| 286 | static void sky2_phy_reset(struct sky2_hw *hw, unsigned port) | 283 | static void sky2_phy_reset(struct sky2_hw *hw, unsigned port) | 
| @@ -3428,6 +3425,10 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state) | |||
| 3428 | { | 3425 | { | 
| 3429 | struct sky2_hw *hw = pci_get_drvdata(pdev); | 3426 | struct sky2_hw *hw = pci_get_drvdata(pdev); | 
| 3430 | int i; | 3427 | int i; | 
| 3428 | pci_power_t pstate = pci_choose_state(pdev, state); | ||
| 3429 | |||
| 3430 | if (!(pstate == PCI_D3hot || pstate == PCI_D3cold)) | ||
| 3431 | return -EINVAL; | ||
| 3431 | 3432 | ||
| 3432 | for (i = 0; i < 2; i++) { | 3433 | for (i = 0; i < 2; i++) { | 
| 3433 | struct net_device *dev = hw->dev[i]; | 3434 | struct net_device *dev = hw->dev[i]; | 
| @@ -3442,7 +3443,8 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state) | |||
| 3442 | } | 3443 | } | 
| 3443 | 3444 | ||
| 3444 | pci_save_state(pdev); | 3445 | pci_save_state(pdev); | 
| 3445 | return sky2_set_power_state(hw, pci_choose_state(pdev, state)); | 3446 | sky2_set_power_state(hw, pstate); | 
| 3447 | return 0; | ||
| 3446 | } | 3448 | } | 
| 3447 | 3449 | ||
| 3448 | static int sky2_resume(struct pci_dev *pdev) | 3450 | static int sky2_resume(struct pci_dev *pdev) | 
| @@ -3452,9 +3454,7 @@ static int sky2_resume(struct pci_dev *pdev) | |||
| 3452 | 3454 | ||
| 3453 | pci_restore_state(pdev); | 3455 | pci_restore_state(pdev); | 
| 3454 | pci_enable_wake(pdev, PCI_D0, 0); | 3456 | pci_enable_wake(pdev, PCI_D0, 0); | 
| 3455 | err = sky2_set_power_state(hw, PCI_D0); | 3457 | sky2_set_power_state(hw, PCI_D0); | 
| 3456 | if (err) | ||
| 3457 | goto out; | ||
| 3458 | 3458 | ||
| 3459 | err = sky2_reset(hw); | 3459 | err = sky2_reset(hw); | 
| 3460 | if (err) | 3460 | if (err) | 
