diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2006-12-15 04:42:34 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-26 15:51:30 -0500 |
commit | 79f3d3996f06ee339c6f173e573826eccd3914ab (patch) | |
tree | 6dd0814371c2389488d3d9d40562adc575c6db75 /drivers | |
parent | 15e376b4eed2575b323d575403569ec1b5f63fda (diff) |
[PATCH] e1000: No-delay link detection at interface up
Currently after an interface up, the link state is detected 2 seconds later
when the first watchdog timer runs. This patch changes that by triggering
the hardware to generate a link-change interrupt from the up() function
instead. This has the result that the link state gets detected immediately
and without races. This has the potential to speed up booting since a normal
distribution boot process waits for a link before DHCP is attempted.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index b06b51a55276..8c4924f1f7ed 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -556,7 +556,8 @@ e1000_up(struct e1000_adapter *adapter) | |||
556 | 556 | ||
557 | clear_bit(__E1000_DOWN, &adapter->flags); | 557 | clear_bit(__E1000_DOWN, &adapter->flags); |
558 | 558 | ||
559 | mod_timer(&adapter->watchdog_timer, jiffies + 2 * HZ); | 559 | /* fire a link change interrupt to start the watchdog */ |
560 | E1000_WRITE_REG(&adapter->hw, ICS, E1000_ICS_LSC); | ||
560 | return 0; | 561 | return 0; |
561 | } | 562 | } |
562 | 563 | ||