e1000e: restore flow control settings properly
After a cable unplug the forced flow control settings were lost accidentally and the flow control settings fell back to the default EEPROM determined values. This breaks for people who want to run without fc enabled - after a cable reset the driver would refuse to run with fc disabled. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:

committed by
David S. Miller

parent
4e6c709c5a
commit
309af40b5f
@@ -639,9 +639,15 @@ s32 e1000e_setup_link(struct e1000_hw *hw)
|
||||
if (e1000_check_reset_block(hw))
|
||||
return 0;
|
||||
|
||||
ret_val = e1000_set_default_fc_generic(hw);
|
||||
if (ret_val)
|
||||
return ret_val;
|
||||
/*
|
||||
* If flow control is set to default, set flow control based on
|
||||
* the EEPROM flow control settings.
|
||||
*/
|
||||
if (mac->fc == e1000_fc_default) {
|
||||
ret_val = e1000_set_default_fc_generic(hw);
|
||||
if (ret_val)
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
/* We want to save off the original Flow Control configuration just
|
||||
* in case we get disconnected and then reconnected into a different
|
||||
|
Reference in New Issue
Block a user