aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/netdev.c
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2009-04-21 14:42:05 -0400
committerDavid S. Miller <davem@davemloft.net>2009-04-22 03:47:54 -0400
commit4cb9be7ab47820a1fa747569f5f035a5f628c91b (patch)
treef272447c9bdc5b01578760f1c0f973a183f801b5 /drivers/net/e1000e/netdev.c
parentbf98a82633b97fb638fcee0fae3c0de54d1f7b05 (diff)
e1000/e1000e/igb/ixgb: do not use netif_wake_queue un-necessarily
It was pointed out that the Intel wired ethernet drivers do not need to wake the tx queue since netif_carrier_on/off will take care of the qdisc management in order to guarantee the correct handling of the transmit routine enable state. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/e1000e/netdev.c')
-rw-r--r--drivers/net/e1000e/netdev.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 9048f8e6a8ce..da6b37e05bea 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -2826,6 +2826,8 @@ int e1000e_up(struct e1000_adapter *adapter)
2826 e1000_configure_msix(adapter); 2826 e1000_configure_msix(adapter);
2827 e1000_irq_enable(adapter); 2827 e1000_irq_enable(adapter);
2828 2828
2829 netif_wake_queue(adapter->netdev);
2830
2829 /* fire a link change interrupt to start the watchdog */ 2831 /* fire a link change interrupt to start the watchdog */
2830 ew32(ICS, E1000_ICS_LSC); 2832 ew32(ICS, E1000_ICS_LSC);
2831 return 0; 2833 return 0;
@@ -2848,7 +2850,7 @@ void e1000e_down(struct e1000_adapter *adapter)
2848 ew32(RCTL, rctl & ~E1000_RCTL_EN); 2850 ew32(RCTL, rctl & ~E1000_RCTL_EN);
2849 /* flush and sleep below */ 2851 /* flush and sleep below */
2850 2852
2851 netif_tx_stop_all_queues(netdev); 2853 netif_stop_queue(netdev);
2852 2854
2853 /* disable transmits in the hardware */ 2855 /* disable transmits in the hardware */
2854 tctl = er32(TCTL); 2856 tctl = er32(TCTL);
@@ -3130,7 +3132,7 @@ static int e1000_open(struct net_device *netdev)
3130 3132
3131 e1000_irq_enable(adapter); 3133 e1000_irq_enable(adapter);
3132 3134
3133 netif_tx_start_all_queues(netdev); 3135 netif_start_queue(netdev);
3134 3136
3135 /* fire a link status change interrupt to start the watchdog */ 3137 /* fire a link status change interrupt to start the watchdog */
3136 ew32(ICS, E1000_ICS_LSC); 3138 ew32(ICS, E1000_ICS_LSC);
@@ -3600,7 +3602,6 @@ static void e1000_watchdog_task(struct work_struct *work)
3600 phy->ops.cfg_on_link_up(hw); 3602 phy->ops.cfg_on_link_up(hw);
3601 3603
3602 netif_carrier_on(netdev); 3604 netif_carrier_on(netdev);
3603 netif_tx_wake_all_queues(netdev);
3604 3605
3605 if (!test_bit(__E1000_DOWN, &adapter->state)) 3606 if (!test_bit(__E1000_DOWN, &adapter->state))
3606 mod_timer(&adapter->phy_info_timer, 3607 mod_timer(&adapter->phy_info_timer,
@@ -3614,7 +3615,6 @@ static void e1000_watchdog_task(struct work_struct *work)
3614 printk(KERN_INFO "e1000e: %s NIC Link is Down\n", 3615 printk(KERN_INFO "e1000e: %s NIC Link is Down\n",
3615 adapter->netdev->name); 3616 adapter->netdev->name);
3616 netif_carrier_off(netdev); 3617 netif_carrier_off(netdev);
3617 netif_tx_stop_all_queues(netdev);
3618 if (!test_bit(__E1000_DOWN, &adapter->state)) 3618 if (!test_bit(__E1000_DOWN, &adapter->state))
3619 mod_timer(&adapter->phy_info_timer, 3619 mod_timer(&adapter->phy_info_timer,
3620 round_jiffies(jiffies + 2 * HZ)); 3620 round_jiffies(jiffies + 2 * HZ));