[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 <[email protected]>
Signed-off-by: Auke Kok <[email protected]>
Signed-off-by: Arjan van de Ven <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
This commit is contained in:
Jesse Brandeburg 2006-12-15 10:42:34 +01:00 • committed by Jeff Garzik
commit 79f3d3996f

View file

@ -556,7 +556,8 @@ e1000_up(struct e1000_adapter *adapter)
clear_bit(__E1000_DOWN, &adapter->flags);
mod_timer(&adapter->watchdog_timer, jiffies + 2 * HZ);
/* fire a link change interrupt to start the watchdog */
E1000_WRITE_REG(&adapter->hw, ICS, E1000_ICS_LSC);
return 0;
}