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