Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 204023
b: refs/heads/master
c: c128ec2
h: refs/heads/master
i:
  204021: 34d6205
  204019: f6dae01
  204015: 91b8cf8
v: v3
  • Loading branch information
Florian Mickler authored and David S. Miller committed Aug 3, 2010
1 parent e39e7ed commit 16c3bc4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c893b8066c7bf6156e4d760e5acaf4c148e37190
refs/heads/master: c128ec29208d410568469bd8bb373b4cdc10912a
23 changes: 11 additions & 12 deletions trunk/drivers/net/e1000e/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -3218,12 +3218,6 @@ int e1000e_up(struct e1000_adapter *adapter)
{
struct e1000_hw *hw = &adapter->hw;

/* DMA latency requirement to workaround early-receive/jumbo issue */
if (adapter->flags & FLAG_HAS_ERT)
adapter->netdev->pm_qos_req =
pm_qos_add_request(PM_QOS_CPU_DMA_LATENCY,
PM_QOS_DEFAULT_VALUE);

/* hardware has been reset, we need to reload some things */
e1000_configure(adapter);

Expand Down Expand Up @@ -3287,12 +3281,6 @@ void e1000e_down(struct e1000_adapter *adapter)
e1000_clean_tx_ring(adapter);
e1000_clean_rx_ring(adapter);

if (adapter->flags & FLAG_HAS_ERT) {
pm_qos_remove_request(
adapter->netdev->pm_qos_req);
adapter->netdev->pm_qos_req = NULL;
}

/*
* TODO: for power management, we could drop the link and
* pci_disable_device here.
Expand Down Expand Up @@ -3527,6 +3515,12 @@ static int e1000_open(struct net_device *netdev)
E1000_MNG_DHCP_COOKIE_STATUS_VLAN))
e1000_update_mng_vlan(adapter);

/* DMA latency requirement to workaround early-receive/jumbo issue */
if (adapter->flags & FLAG_HAS_ERT)
adapter->netdev->pm_qos_req =
pm_qos_add_request(PM_QOS_CPU_DMA_LATENCY,
PM_QOS_DEFAULT_VALUE);

/*
* before we allocate an interrupt, we must be ready to handle it.
* Setting DEBUG_SHIRQ in the kernel makes it fire an interrupt
Expand Down Expand Up @@ -3631,6 +3625,11 @@ static int e1000_close(struct net_device *netdev)
if (adapter->flags & FLAG_HAS_AMT)
e1000_release_hw_control(adapter);

if (adapter->flags & FLAG_HAS_ERT) {
pm_qos_remove_request(adapter->netdev->pm_qos_req);
adapter->netdev->pm_qos_req = NULL;
}

pm_runtime_put_sync(&pdev->dev);

return 0;
Expand Down

0 comments on commit 16c3bc4

Please sign in to comment.