diff options
| author | Yijing Wang <wangyijing@huawei.com> | 2013-06-02 17:36:21 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-06-03 03:48:11 -0400 |
| commit | 5865fc1b6a99bc7dcf245770c2735577b8596b6e (patch) | |
| tree | 4bf6b251fcb5fdc8e0766c762e6af5b1788a5f5e | |
| parent | 6b1ea4b299ca19a7a2713b38366ac2829fe55883 (diff) | |
tg3: remove redundant pm init code
Pci_enable_device() will set device pm state to D0, so
it's no need to do it again in tg3_init_one().
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/ethernet/broadcom/tg3.c | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index d7755d849e53..3cfae0e49207 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c | |||
| @@ -17195,7 +17195,7 @@ static int tg3_init_one(struct pci_dev *pdev, | |||
| 17195 | { | 17195 | { |
| 17196 | struct net_device *dev; | 17196 | struct net_device *dev; |
| 17197 | struct tg3 *tp; | 17197 | struct tg3 *tp; |
| 17198 | int i, err, pm_cap; | 17198 | int i, err; |
| 17199 | u32 sndmbx, rcvmbx, intmbx; | 17199 | u32 sndmbx, rcvmbx, intmbx; |
| 17200 | char str[40]; | 17200 | char str[40]; |
| 17201 | u64 dma_mask, persist_dma_mask; | 17201 | u64 dma_mask, persist_dma_mask; |
| @@ -17217,25 +17217,10 @@ static int tg3_init_one(struct pci_dev *pdev, | |||
| 17217 | 17217 | ||
| 17218 | pci_set_master(pdev); | 17218 | pci_set_master(pdev); |
| 17219 | 17219 | ||
| 17220 | /* Find power-management capability. */ | ||
| 17221 | pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM); | ||
| 17222 | if (pm_cap == 0) { | ||
| 17223 | dev_err(&pdev->dev, | ||
| 17224 | "Cannot find Power Management capability, aborting\n"); | ||
| 17225 | err = -EIO; | ||
| 17226 | goto err_out_free_res; | ||
| 17227 | } | ||
| 17228 | |||
| 17229 | err = pci_set_power_state(pdev, PCI_D0); | ||
| 17230 | if (err) { | ||
| 17231 | dev_err(&pdev->dev, "Transition to D0 failed, aborting\n"); | ||
| 17232 | goto err_out_free_res; | ||
| 17233 | } | ||
| 17234 | |||
| 17235 | dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS); | 17220 | dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS); |
| 17236 | if (!dev) { | 17221 | if (!dev) { |
| 17237 | err = -ENOMEM; | 17222 | err = -ENOMEM; |
| 17238 | goto err_out_power_down; | 17223 | goto err_out_free_res; |
| 17239 | } | 17224 | } |
| 17240 | 17225 | ||
| 17241 | SET_NETDEV_DEV(dev, &pdev->dev); | 17226 | SET_NETDEV_DEV(dev, &pdev->dev); |
| @@ -17243,7 +17228,7 @@ static int tg3_init_one(struct pci_dev *pdev, | |||
| 17243 | tp = netdev_priv(dev); | 17228 | tp = netdev_priv(dev); |
| 17244 | tp->pdev = pdev; | 17229 | tp->pdev = pdev; |
| 17245 | tp->dev = dev; | 17230 | tp->dev = dev; |
| 17246 | tp->pm_cap = pm_cap; | 17231 | tp->pm_cap = pdev->pm_cap; |
| 17247 | tp->rx_mode = TG3_DEF_RX_MODE; | 17232 | tp->rx_mode = TG3_DEF_RX_MODE; |
| 17248 | tp->tx_mode = TG3_DEF_TX_MODE; | 17233 | tp->tx_mode = TG3_DEF_TX_MODE; |
| 17249 | tp->irq_sync = 1; | 17234 | tp->irq_sync = 1; |
| @@ -17581,9 +17566,6 @@ err_out_iounmap: | |||
| 17581 | err_out_free_dev: | 17566 | err_out_free_dev: |
| 17582 | free_netdev(dev); | 17567 | free_netdev(dev); |
| 17583 | 17568 | ||
| 17584 | err_out_power_down: | ||
| 17585 | pci_set_power_state(pdev, PCI_D3hot); | ||
| 17586 | |||
| 17587 | err_out_free_res: | 17569 | err_out_free_res: |
| 17588 | pci_release_regions(pdev); | 17570 | pci_release_regions(pdev); |
| 17589 | 17571 | ||
